使用session.load()
或session.get()
或org.hibernate.session
的任何其他方法,是否可以在hibernate中根据Unique列而不是PK列值获取记录?
我的要求是我需要根据唯一列值而不是主键获取记录。
就像我不想使用 Criteria API 一样。我需要使用 session.get 或 load 之类的方法。您提到的答案是进行搜索。但我要求根据唯一 key 获取单个记录。比如说。我的 Fruit 类有一个 PK 列 ID 和一个唯一的列 FruitID,它是唯一的键。我想根据fruitID而不是ID检索唯一记录。例如。水果 水果 = (水果) session.get(Fruit.class,fruitID);这里的fruitID是Fruit类的唯一列。
最佳答案
你的意思是这样的吗?
Criteria criteria = session.createCriteria(User.class);
criteria.add( Restrictions.eqProperty("uniqueField", "value") )
List results = criteria.list();
Object myObj = results.get(0);
检查hibernate manual有关标准的更多信息
关于hibernate - 如何在 Hibernate 中使用唯一键而不是主键检索记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12258556/