我正在学习Hibernate数据库MySql,在制作小项目时我想出了奇怪的休眠行为。我正在尝试保存一个实体(代码如下),但实体没有持久化到数据库中。我只使用session.save(e)方法。如果我正在使用它就可以工作@GeneratedValue(strategy=GenerationType.IDENTITY),如果我正在使用它就不会工作@GeneratedValue(strategy=GenerationType.AUTO)。
同样,如果我使用会话事务 ( begin and commit),它在两种情况下都有效(AUTO 和 IDENTITY)。
同样,如果我使用两个不同的实体,一个使用 AUTO,另一个使用 IDENTITY,它正在工作。
第一个实体
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "EMPLOYEE")
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "EMP_ID")
private int empId;
@Column(name ="name")
private String name;
public int getEmpId() {
return empId;
}
public void setEmpId(int empId) {
this.empId = empId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
第二实体
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "SUPEMPLOYEE")
public class SupperEmploye {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "EMP_ID")
private int empId;
@Column(name ="name")
private String name;
public int getEmpId() {
return empId;
}
public void setEmpId(int empId) {
this.empId = empId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
30秒到达战场
幕布斯6054654
相关分类