【发布时间】:2016-11-23 07:24:42
【问题描述】:
我正在尝试将记录保存在数据库中,保存成功,但是当我单击保存按钮时,每次都将记录保存在表中。我的意思是一条记录保存了多次。
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>
【问题讨论】:
-
你能分享你的 Employee 类吗,看起来它的主键每次保存都会改变。
-
您的问题不清楚,无法提供答案。请阅读stackoverflow.com/help/how-to-ask
-
在数据库中具有相同的 id
-
向我们展示您的交易代码