0

Hibernate を使用して、テーブルの 1 つの列から (プリミティブ) 値のリストを返す方法はありませんか? 特定のフィールドが別のテーブルのIDのリストにない行のみが必要なサブセレクトにこれが必要です。

4

3 に答える 3

3

Hibernateの生のSQLQueryを使用できますか?

SQLQuery q = getSession().createSQLQuery("select int_column from table");
List<Integer> list = (List<Integer>) q.list();
于 2009-05-18T18:11:48.827 に答える
2

URL https://www.hibernate.org/hib_docs/nhibernate/html/queryhql.htmlから、次のような単純なものになりました。これは、グーグルで最初に見つけた結果の1つですが、私はNHibernate固有の可能性があることを懸念していました

from Eg.DomesticCat as cat where cat.Name not in ( 
select name.NickName from Eg.Name as name )
于 2009-05-18T18:15:56.103 に答える
0

Hibernateエンジン自体の使用についてはわかりません。これは、モデルオブジェクトをどのようにマッピングしたかに依存すると思います。マッピングを確認する以外に、Hibernateセッションオブジェクトを経由して標準SQLを使用できます。

session.createSQLQuery("select idCol from someTable where someId not in (
select someId from anotherTable)");

次に、クエリでlist()メソッドを使用し、プリミティブint配列にオートボクシングを使用します。

于 2009-05-18T18:12:16.593 に答える