如何使用Spring Roo和JPA提供自己的@id字段 [英] How can I provide my own @id field using Spring Roo and JPA
问题描述
我试图让Spring Roo使用我自己的@Id字段而不是生成一个.
I am trying to get Spring Roo to use my own @Id field instead of generating one.
@Entity
...
@RooEntity
@Table(name = "usr")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "usr_id")
private Integer id;
...
public Integer getId() { return id; }
public void setId(Integer id) { this.id = id }
...
}
Roo仍在User_Roo_Entity.aj中创建以下内容:
Roo still creates the following in User_Roo_Entity.aj:
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "_id")
private Long User._id;
如何获取它来确认我的@Id字段?我想指定自己的发电机等.
How can I get it to acknowledge my @Id field? I want to specify my own generator etc.
推荐答案
这似乎是Spring Roo 1.1.0.RELEASE中的错误.我将@Id更改为@ javax.persistence.Id,它可以工作.显式导入javax.persistence.Id也可以(而不只是javax.persistence.*).我已经在IntelliJ中优化了导入,因此第一种选择可能是最好的解决方法.
Looks like this is a bug in Spring Roo 1.1.0.RELEASE. I changed @Id to @javax.persistence.Id and it works. Explicitly importing javax.persistence.Id also works (instead of just javax.persistence.*). I have optimize imports on in IntelliJ so the first option is probably the best workaround.
这篇关于如何使用Spring Roo和JPA提供自己的@id字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!