我正在使用MySql 5.02數據庫開發J2EE 6 Web應用程序。我試圖生成一個ID的哈希摘要,每次我創建一個新的實體。這被設置爲表格中的一列。獲取新持久實體的ID(PK)
但是,我被困在顯然很容易的東西上,並且根據我發現的搜索結果,可能。基本上我想檢索新持久對象的ID(主鍵),但無論我嘗試什麼,它都會返回null。
的步驟如下是:
- 創建實體的實例 - >
userCard = new Users();
- 設置一些值對應的字段。
- 調用
EntityManager
的persist()
方法。
閱讀一些論壇上後,我明白我必須persist()
後,無論是打電話flush()
,或使用merge()
和使用返回的實體來檢索ID。他們的
public void createAndFlush(Users users) {
em.persist(users);
em.flush();
}
public Integer edit(Users users) {
return ((Users)em.merge(users)).getIdvcards();
}
無(其他一些組合中)的工作,那麼,實體被成功地堅持着,但ID字段返回null。
這些是我想要檢索的ID列的correspinding註釋:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "idvcards")
private Integer idvcards;
而且很明顯,我的表的列idvcards設置爲自動遞增和主鍵。
也許我只是需要澄清我的Peristence-Management概念,但是如果我能得到一些提示來解決這個基本問題,我將不勝感激。
我贊成你張貼結果和友好評論:) – Bohemian 2011-06-10 10:28:21
也爲我工作,謝謝。 – Puckl 2013-04-09 22:17:02