2014-11-21 63 views
3

當我使用它的id檢索一個對象並更改它的屬性並更新它時,一切正常,但是當我使用它們的名稱+版本和更新他們,沒有保存在數據庫中的更改。你能否讓別人讓我知道是什麼問題?!Hibernate通過非主鍵獲取實體並更新它+ Spring mvc

//通過ID獲取

public PdfDocument get(Long id) { 
    return (PdfDocument) session().get(PdfDocument.class, id); 
} 

//通過名稱+版本獲取

public PdfDocument get(String name, int version) { 
    Criteria criteria = session().createCriteria(PdfDocument.class); 
    criteria.add(Restrictions.eq("name", name)); 
    criteria.add(Restrictions.eq("version", version)); 
    return ((PdfDocument) criteria.uniqueResult()) ; 
} 

//更新

public void update(PdfDocument PdfDocument) { 
    session().saveOrUpdate(PdfDocument); 
} 
+0

get(name,version)方法返回了一個'PdfDocument'對象還是null? – 2015-03-11 10:21:19

回答

0

可能返回比你預期不同的實體標準一。檢查返回的實體和預期的實體的ID。