JPA中的find方法只接受主键,有没有办法包含Version属性来查找实体。
答案 0 :(得分:2)
为什么要使用version属性来查找实体?如果您正在使用代理主键字段(根据Hibernate的建议),您应该能够通过id识别一行。
hibernate使用Version字段来确保在加载和持久化之间不会更改加载的实体。
如果你真的想使用id和版本,你需要一个查询:
Query query = session.createQuery("select from MyTable where id = ? and version =?");
query.setParameter(0, myId);
query.setParameter(1, myVersion);
query.uniqueResult();