你好,我写了如下代码:
@Id
@Column(nullable=false)
@GeneratedValue(strategy=GenerationType.AUTO)
public int getUserID() {
return UserID;
}
但是我手动从DAO设置它,例如 "e.setUserID(01);" 来进行插入。否则行不会插入。有没有什么方法可以获取id的值并检索自动生成的值。我认为我会得到一些帮助。
你好,我写了如下代码:
@Id
@Column(nullable=false)
@GeneratedValue(strategy=GenerationType.AUTO)
public int getUserID() {
return UserID;
}
但是我手动从DAO设置它,例如 "e.setUserID(01);" 来进行插入。否则行不会插入。有没有什么方法可以获取id的值并检索自动生成的值。我认为我会得到一些帮助。
使用IDENTITY生成类型代替auto。使用Long类型作为ID。我也建议将名称从UserID改为userId。不要忘记在类名上加上@Entity。
@Entity
public class MyClass{
private Long userId;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column
public Long getUserID(){
return userId;
}
//.. rest of class
}
使用
@GenericGenerator(name="generator", strategy="increment")
@GeneratedValue(generator="generator")