[seasar-dotnet:341] Re: [S2Dao] 複数テーブルとの1:Nマッピングエラーについて

his @ hamal.freemail.ne.jp his @ hamal.freemail.ne.jp
2006年 9月 18日 (月) 15:09:21 JST


古賀です。

早速の確認ありがとうございます。

肝心の情報が洩れていました。
使用しているのはMDBです。

作成されたSQLを確認しましたが、以下のような感じです。

SELECT TBL_A.KEY1, TBL_B.KEY2, 
       TBLB.KEY1 AS KEY1_0, TBLB.KEY2 AS KEY2_0, 
       TBLC.KEY1 AS KEY1_1, TBLC.KEYC AS KEYC_1
FROM TBL_A
LEFT OUTER JOIN TBL_B TBLB
ON TBL_A.KEY1=TBLB.KEY1 AND TBL_A.KEY2=TBLB.KEYB
LEFT OUTER JOIN TBL_C TBLC
ON TBL_A.KEY1=TBLC.KEY1 AND TBL_A.KEY3=TBLC.KEYC

この書式だとAccessデータベースでは動かないようです。



===
古賀久司 (Hisashi KOGA)
e-mail   : his @ hamal.freemail.ne.jp




"Kazuya Sugimoto" <sugimotokazuya @ gmail.com>さん:
> 杉本です。
> 
> こちらでTestA, TestB, TestCという3つのテーブルを作成して、同じ条件で
> 動作させてみたのですが問題ありませんでした。
> 何か問題が発生するための条件が漏れているのかもしれません。
> 
> log4netに出力されているSQLはどうなっているでしょうか?
> 
> 長くなりますが以下にこちらでテストしたコードを載せておきます。
> C#なのでVBのソースが必要な場合は、言ってください。
> 
> public class TestA
> {
>     private TestB _testB;
>     private TestC _testC;
> 
>     [Relno(0), Relkeys("Key1:Key1,Key2:KeyB")]
>     public TestB TB
>     {
>         set { _testB = value; }
>         get { return _testB; }
>     }
> 
>     [Relno(1), Relkeys("Key1:Key1,Key3:KeyC")]
>     public TestC TC
>     {
>         set { _testC = value; }
>         get { return _testC; }
>     }
> }
> 
> public class TestB
> {
>     private int _key1;
>     private int _keyB;
> 
>     public int Key1
>     {
>         set { _key1 = value; }
>         get { return _key1; }
>     }
> 
>     public int KeyB
>     {
>         set { _keyB = value; }
>         get { return _keyB; }
>     }
> }
> 
> public class TestC
> {
>     private int _key1;
>     private int _keyC;
> 
>     public int Key1
>     {
>         set { _key1 = value; }
>         get { return _key1; }
>     }
> 
>     public int KeyC
>     {
>         set { _keyC = value; }
>         get { return _keyC; }
>     }
> }
> 
> [Bean(typeof(TestA))]
> public interface ITestADao
> {
>     TestA[] GetAll();
> }
> 
> -- 
> Kazuya Sugimoto
> http://d.hatena.ne.jp/sugimotokazuya/
> _______________________________________________
> seasar-dotnet mailing list
> seasar-dotnet @ ml.seasar.org
> https://www.seasar.org/mailman/listinfo/seasar-dotnet
> 
> 
> -- 
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.1.405 / Virus Database: 268.12.4/449 - Release Date: 2006/09/15




seasar-dotnet メーリングリストの案内