這是理論上的查詢可能在休眠嗎?休眠 - 豆取指
Person personQuery = new Person();//(@Entity)
personQuery.setId(5);
List<Person> persons = personQuery.get("=").fetch();
意味着
SELECT * from person WHERE id=5
當事情很簡單我想用豆(實體)的工作,而不是HQL。
是否有API支持?
這是理論上的查詢可能在休眠嗎?休眠 - 豆取指
Person personQuery = new Person();//(@Entity)
personQuery.setId(5);
List<Person> persons = personQuery.get("=").fetch();
意味着
SELECT * from person WHERE id=5
當事情很簡單我想用豆(實體)的工作,而不是HQL。
是否有API支持?
如果只是通過ID,那麼你可以使用:
Person person = session.get(Person.class, 5);
Spring的HibernateTempalte
有findByExample
方法,這似乎是你所需要的。
它實際上使用Hibernate API標準:
Criteria executableCriteria = session.createCriteria(exampleEntity.getClass());
executableCriteria.add(Example.create(exampleEntity));
return executableCriteria.list();
我假設你的目標是不是需要session
對象做認定,更新等在Java中,我還沒有見過這樣的事情。它已經在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 2011-01-30 20:37:29