Ash*_*oth 6 java mysql hibernate jpa identifier
在这段代码中,我需要id作为主键,并且必须递增.
id是getter和setter吗?
@Entity
public class Contact {
@Id
private Integer id;
private String firstName;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
Run Code Online (Sandbox Code Playgroud)
Vla*_*cea 10
虽然你可以使用GenerationType.AUTO,但对于MySQL和Hibernate 5来说这不是一个好主意,因为它默认为TABLE生成器,这对性能有害.
因此,虽然它将禁用JDBC批量插入,但您应该使用IDENTITY:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
Run Code Online (Sandbox Code Playgroud)
或者您可以使用可以native回溯到IDENTITYMySQL的标识符生成器:
@Id
@GeneratedValue(
strategy= GenerationType.AUTO,
generator="native"
)
@GenericGenerator(
name = "native",
strategy = "native"
)
private Long id;
Run Code Online (Sandbox Code Playgroud)