1

有線の問題が発生しました。

例でエンティティを検索するためにHibernateを使用します。

残念ながら、テーブルに約20000のエントリがある場合でも、インスタンスを見つけることができません。

私の質問は、この問題をデバッグする方法です。

01  Puppy p = new Puppy()
02  List list = session.createCriteria(Puppy.class).add(Example.create(p)).list();
03  System.out.println(list.length());

0を返します

編集:私はすべてのnmと1-nの関係をnullに設定しました

4

2 に答える 2

0

まず第一に、System.out.printlnc#のように見えますか?だからNHibernate?

私のプロジェクトには構成セクションがあり、そこにプロパティを追加できます。

NHibernate.Cfg.Configuration configuration = new NHibernate.Cfg.Configuration();

configuration.SetProperty(NHibernate.Cfg.Environment.ShowSql, "true");

これが何らかの形で役立つことを願っています。

于 2012-10-24T15:11:49.950 に答える
0

例によるクエリを実行しています。これは、Puppyインスタンスのプロパティがp対応するクエリを生成するため、結果セットが例と一致することを意味します。

Puppyインスタンスにはnull以外のプロパティがあると思います。

デバッグする最も簡単な方法は、HibernateでSQLトレースをオンにすることです。これにより、生成されたSQLがわかり、クエリ基準がわかり、サンプルインスタンスのどのフィールドが問題の原因であるかがわかります。

于 2012-10-25T08:10:08.117 に答える