この理論的なクエリは休止状態で可能ですか?Hibernate - Beanでフェッチする
SELECT * from person WHERE id=5
を意味
Person personQuery = new Person();//(@Entity)
personQuery.setId(5);
List<Person> persons = personQuery.get("=").fetch();
。
これをサポートするAPIはありますか?
この理論的なクエリは休止状態で可能ですか?Hibernate - Beanでフェッチする
SELECT * from person WHERE id=5
を意味
Person personQuery = new Person();//(@Entity)
personQuery.setId(5);
List<Person> persons = personQuery.get("=").fetch();
。
これをサポートするAPIはありますか?
それが唯一のIDである場合は、あなたが使用することができます。
Person person = session.get(Person.class, 5);
SpringのHibernateTempalte
はあなたが必要なもののように思えるfindByExample
方法があります。
それが実際に休止状態の基準のAPIを使用しています。
Criteria executableCriteria = session.createCriteria(exampleEntity.getClass());
executableCriteria.add(Example.create(exampleEntity));
return executableCriteria.list();
私はあなたの目標は、Javaではなどの発見、更新を行うためのsession
オブジェクトを必要としないことであると仮定し、私はそのようなものを見たことがありません。 GrailsはHibernateを使ってGORMとして実装されており、実行時にメソッドを動的に追加することによって動作します。
たとえば、あなたがidでまっすぐな検索を行うことができます。
def item = Item.get(itemId) // finds an item with a given id
それとも簡単にはHQLクエリを実行します。
def items = Item.findAll("from Item as item where item.price < 50") // find all items where price < 50
"それが唯一のIDである場合には、" あなたはPKを意味ですか? – fatnjazzy
はい。私は、フィールド "id"がPKを意味していなかった場合は一度もありません:) – Bozho