我是Hibernate的新手,我正在努力學習它的細微差別。 我正在嘗試使用hibernate保存或更新實體。 我的POJO類: -Hibernate SaveOrUpdate使用GeneratedValue作爲主鍵
@Entity
@Table(name = "TestDB")
public class TestCaseData {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private intid;
@Column(columnDefinition="TEXT")
private String location;
private String name;
/*Getters and setters*/
主要類別: -
public TestDbDao{
public static void main(String args[]){
TestCaseData d1 = new TestCaseData();
TestCaseData d2 = new TestCaseData();
TestCaseData d3 = new TestCaseData();
d1.setHash("New York");
d1.setName("Panache");
saveOrUpdate(d1);
/** d2 and d3 **/
}
}
我saveOrUpdate
這個實體。第一次我運行的主類,3列在表中創建。 當我第二次運行相同的程序時,根據我在saveOrUpdate時的知識,如果該值不存在於表中,它應該保存,或者如果已經存在的值在表中更新,則應該更新。但是我發現它3行用不同的ID添加到表格中。 id 1,2,3,4,5,6是相同的。爲什麼saveOrUpdate不適用於generateValue ID? 任何人都可以請解釋一下嗎?
你有什麼異常嗎? – Masudul
不,我沒有得到任何異常。直接相同的d1,d2和d3被添加到新的ID 4,5,6 – Newbie