如何使用Unique键而不是Primary Key在Hibernate中检索记录

ran*_*ali 10 hibernate key unique

使用session.load()或者session.get()任何其他方法org.hibernate.session,是否可以根据Unique列而不是PK列值获取休眠记录?

我的要求是我需要根据唯一列值而不是主键来获取记录.

这就像我不想使用Criteria API.我需要使用session.get或加载一些方法.你提到的答案是进行搜索.但我要求根据唯一键获取单个记录.比如说.我的类Fruit有一个PK列ID和一个唯一的列fruitID,它是唯一的键.我想根据fruitID而不是ID检索唯一记录.例如.Fruit fruit =(Fruit)session.get(Fruit.class,fruitID); 这里fruitID是Fruit类的唯一列.

kot*_*dir 8

你的意思是这样的?

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

查看hibernate手册以获取有关条件的更多信息