2013-04-20 66 views
2

我有以下目的:休眠得到由非ID对象的唯一标识符

@Id 
    @GeneratedValue 
    private long id; 
    @Column(name = "uniqueId", unique=true) 
    private String uniqueId; 

是有可能得到从具有object.uniqueId ==“some_unique_id”的DB的对象??

谢谢。

+0

在http://stackoverflow.com/questions/12258556/how-to-retrieve-record-in-hibernate-using-unique-key-instead-of-primary-key答案 – Urbanleg 2013-04-20 11:38:34

回答

4
String hql = "select foo from Foo foo where foo.uniqueId = :uniqueId"; 
return (Foo) session.createQuery(hql) 
        .setString("uniqueId", theUniqueId) 
        .uniqueResult();