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

Nakai [E-MAIL ADDRESS DELETED]
2008年 10月 24日 (金) 13:32:08 JST


久保さん

お察しのとおりです!!
(曖昧な質問ですいません。。。)

additionalForeignKeyMap.dfprop
を早速使わせていただきます。

今後もよろしくお願いいたします。

> ------------------------------
> 
> Message: 2
> Date: Thu, 23 Oct 2008 22:31:37 +0900
> From: kubo <[E-MAIL ADDRESS DELETED]>
> Subject: [seasar-dotnet:1086] Re: DBFlute による親データの取得について
> To: [E-MAIL ADDRESS DELETED]
> Message-ID:
> 	<[E-MAIL ADDRESS DELETED]>
> Content-Type: text/plain; charset=UTF-8
> 
> 久保(jflute)です。
> 
> >> ちなみに「コード:名称値」を持ったテーブルからN:1マッピングをする際にも
> >> 外部キーを付けるしか方法はないのでしょうか?
> >> (今日それで格闘してました・・・)
> 
> さっき日比谷線のホームで「あれはどういうことだったのかなぁ」
> と考えててふと思ったのですが、
> 「実際のFK制約がなくてもSetupSelectで取得したい」
> ということでしょうか?
> それで、実際のFK制約がない関連でExEntityに手動でRELKEYを
> 付与して試していた、という話につながりますでしょうか?
> 
> もし、そうであれば、additionalForeignKeyMap.dfpropにて
> DBFluteで疑似のFK情報を定義することで可能です。
> http://d.hatena.ne.jp/jflute/20080709/1215624049
> 
> 
> #
> # はずしてたらすごい恥ずかしい....
> #
> 
> 2008/10/23 kubo <[E-MAIL ADDRESS DELETED]>:
> > 久保(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 mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
> 
> 



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