[seasar-dotnet:1075] Re: DBFlute による親データの取得について

kubo [E-MAIL ADDRESS DELETED]
2008年 10月 23日 (木) 18:53:07 JST


久保(jflute)です。

> すいません。自己解決しました。
>
> 落ちる方はExEntityに「Relno,Relkeys」属性のついたプロパティがあり、
> 削除したら正常に動きました。

おお、了解です。
ちょっとドキドキしてました。

> (N:1マッピングをやろうと追加したのですが、DBFluteでは未サポートという
> Exceptionが出たため中止したものの、プロパティは消してませんでした)

N:1ではなく、1:Nってことでしょうか?
(つまりone-to-many)
もし、その場合はDBFluteはBehaviorのLoadReferrerを使ってN側を取得します。

> ちなみに「コード:名称値」を持ったテーブルからN:1マッピングをする際にも
> 外部キーを付けるしか方法はないのでしょうか?
> (今日それで格闘してました・・・)

すいません、これちょっとよくわかりませんでした。
「コード:名称値」を持ったテーブルとは、
例えば、ExampleDB
http://dbflute.sandbox.seasar.org/view/exampledb/EARoot/EA1.html
の会員ステータスのようなテーブルのことでしょうか?
(そのテーブルからN:1マッピングをする、とは!?!?)

2008/10/23 Nakai <[E-MAIL ADDRESS DELETED]>:
> 久保さん
>
> すいません。自己解決しました。
>
> 落ちる方はExEntityに「Relno,Relkeys」属性のついたプロパティがあり、
> 削除したら正常に動きました。
>
> (N:1マッピングをやろうと追加したのですが、DBFluteでは未サポートという
> Exceptionが出たため中止したものの、プロパティは消してませんでした)
>
> お騒がせして申し訳ありませんでした。
>
> ちなみに「コード:名称値」を持ったテーブルからN:1マッピングをする際にも
> 外部キーを付けるしか方法はないのでしょうか?
> (今日それで格闘してました・・・)
>
>
> Nakai <[E-MAIL ADDRESS DELETED]> wrote:
>
>> 久保さん
>>
>> 成功している方はAの上にはいません。
>> 失敗する方はさらに親がいるケースといないケース両方あります。
>> 規則性がまだ見えていない状況です。
>> 引き続き調べてみます。
>>
>> ※Logに出ているSQLは「A」も「B」も正常に流れます。
>>
>>
>>
>> kubo <[E-MAIL ADDRESS DELETED]> wrote:
>>
>> > 久保です。
>> >
>> 中井さん、こんばんは
>> >
>> AとA1の関係と、BとB1の関係に何か特徴的な違いはありますでしょうか?
>> > 例えば、「A」にはさらに親がいて、「B」には親がいないとか。
>> >
>> 2008/10/23 Nakai <[E-MAIL ADDRESS DELETED]>:
>> > > いつもお世話になります。
>> > > 中井と申します。
>> > >
>> > > 現在、cb.SetupSelectで親テーブルのデータ取得を試みているのですが、
>> > > 成功する親子テーブルと失敗する親子テーブルがあり悩んでいます。
>> > >
>> > > 例)Aテーブル(親)-A1テーブル(子)
>> > >        Bテーブル(親)-B1テーブル(子)
>> > >
>> > > ↓成功
>> > > A1tableCB cb = new A1tableCB();
>> > > cb.SetupSelect_Atable();
>> > > bhv.SelectList(cb);
>> > > ↓失敗
>> > > B1tableCB cb2 = new B1tableCB();
>> > > cb2.SetupSelect_Btable();
>> > > bhv2.SelectList(cb2);
>> > >
>> > > 共にデータは存在しています。
>> > > 何かおかしいところはあるでしょうか?
>> > > お忙しいところ申し訳ありませんが、
>> > > よろしくお願いいたします。
>> > >
>> > > DBFlute:0.8.2
>> > > DB:SQLServer2005
>> > >
>> > > 以下Exceptionです。
>> > > -----------------------------------
>> > >
>> > > <System.NullReferenceException>
>> > >
>> > > 【Source】:Seasar.Dao
>> > >
>> > > 【Stacktrace】:場所 Seasar.Dao.Impl.RelationRowCreatorImpl.BuildRelationNoSuffix(IRelationPropertyType rpt)
>> > >  場所 Seasar.Dao.Impl.RelationRowCreatorImpl.SetupNextPropertyCacheElement(RelationRowCreationResource res, IRelationPropertyType nextNextRpt)
>> > >   場所 Seasar.Dao.Impl.RelationRowCreatorImpl.SetupNextPropertyCache(RelationRowCreationResource res, IBeanMetaData nextBmd)
>> > >   場所 XXX.AllCommon.S2Dao.InternalRelationRowCreator.SetupPropertyCache(RelationRowCreationResource res)
>> > > 場所 XXX\\AllCommon\\S2Dao\\S2DaoMetaDataFactoryImpl.cs:行 569
>> > >   場所 Seasar.Dao.Impl.RelationRowCreatorImpl.CreateRelationPropertyCache(IList columnNames, IBeanMetaData bmd)
>> > >   場所 XXX.AllCommon.S2Dao.Internal.RsHandler.InternalAbstractBeanMetaDataResultSetHandler.CreateRelationPropertyCache(IList columnNames)
>> > > 場所 XXX\\AllCommon\\S2Dao\\Internal\\RsHandler\\InternalAbstractBeanMetaDataResultSetHandler.cs:行 50
>> > >   場所 XXX.AllCommon.S2Dao.Internal.RsHandler.InternalBeanListMetaDataResultSetHandler.Handle(IDataReader dataReader, IList list)
>> > >  場所 XXX\\AllCommon\\S2Dao\\Internal\\RsHandler\\InternalBeanListMetaDataResultSetHandler.cs:行 72
>> > >   場所 XXX.AllCommon.S2Dao.Internal.RsHandler.InternalBeanGenericListMetaDataResultSetHandler.Handle(IDataReader dataReader)
>> > > 場所 XXX\\AllCommon\\S2Dao\\Internal\\RsHandler\\InternalBeanGenericListMetaDataResultSetHandler.cs:行 27
>> > >   場所 XXX.AllCommon.S2Dao.Internal.SqlHandler.InternalBasicSelectHandler.Execute(IDbCommand cmd, Object[] args)
>> > >  場所 XXX\\AllCommon\\S2Dao\\Internal\\SqlHandler\\InternalBasicSelectHandler.cs:行 78"
>> > >
>> > > 【TargetSite】:System.String BuildRelationNoSuffix(Seasar.Dao.IRelationPropertyType)
>> > > _______________________________________________
>> > > seasar-dotnet mailing list
>> > > [E-MAIL ADDRESS DELETED]
>> > > https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>> > >
>> > _______________________________________________
>> > seasar-dotnet mailing list
>> > [E-MAIL ADDRESS DELETED]
>> > https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>>
>> _______________________________________________
>> seasar-dotnet mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>
> _______________________________________________
> seasar-dotnet mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>


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