我试图保存数据库中的记录,保存成功,但是当我点击保存按钮时,每次记录保存在表格中。我的意思是一个记录多次保存。多次保存记录
public void saveEmployeeDetails(Employee employeeDetails){
try{
System.out.println("----saveEmployeeDetails----");
getSession().saveOrUpdate(employeeDetails);
}
catch (Exception e) {
e.printStackTrace();
}
}
我想只保存一次。我的代码有什么问题?
Java类
public class Employee {
private long id;
private String empid;
private String empname;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getEmpid() {
return empid;
}
public void setEmpid(String empid) {
this.empid = empid;
}
public String getEmpname() {
return empname;
}
public void setEmpname(String empname) {
this.empname = empname;
}
}
HBM文件
<hibernate-mapping>
<class name="org.hibernatejavaapp.Employee" table="EMP_DETAILS">
<id name="id" type="long">
<generator class="native"></generator>
</id>
<property name="empid" column="EMPID" type="string" length="255" not-null="true" />
<property name="empname" column="EMPNAME" type="string" length="255" not-null="true" />
</class>
</hibernate-mapping>
您可以分享您的员工类,看起来像是每次保存时的主键更改。 – Ouney
你的问题不清楚提供一个答案。请阅读http://stackoverflow.com/help/how-to-ask – vels4j
在数据库中使用相同的ID – Zia