10

session.load()またはsession.get()その他の方法を使用しorg.hibernate.sessionて、PK 列の値ではなく Unique 列に基づいて休止状態でレコードを取得することは可能ですか?

私の要件は、主キーではなく、一意の列値に基づいてレコードを取得する必要があるということです。

Criteria API を使用したくないようです。session.get または load のようなメソッドを使用する必要があります。あなたが言及した答えは、検索を行うことです。しかし、一意のキーに基づいて単一のレコードを取得するよう求めています。たとえば、と言ってください。私のクラス Fruit には、PK 列 ID と、一意のキーである一意の列 fruitID があります。ID ではなく fruitID に基づいて一意のレコードを取得したいと考えています。例えば。フルーツ フルーツ = (フルーツ) session.get(フルーツ.クラス,フルーツID); ここで fruitID は Fruit クラスの一意の列です。

4

2 に答える 2

8

このようなことを意味しますか?

Criteria criteria = session.createCriteria(User.class);  
criteria.add( Restrictions.eqProperty("uniqueField", "value") )
List results = criteria.list();
Object myObj = results.get(0);

基準の詳細については、休止状態のマニュアルを確認してください

于 2012-09-04T07:25:15.153 に答える