如何使用Spring Roo和JPA提供我自己的@id字段

时间:2010-11-19 16:11:33

标签: java spring jpa spring-roo

我试图让Spring Roo使用我自己的@Id字段而不是生成一个。

@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中创建以下内容:

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "_id")
private Long User._id;

如何让它确认我的@Id字段?我想指定我自己的发电机等。

1 个答案:

答案 0 :(得分:2)

看起来这是Spring Roo 1.1.0.RELEASE中的一个错误。我将@Id更改为@ javax.persistence.Id并且它有效。显式导入javax.persistence.Id也有效(而不仅仅是javax.persistence。*)。我在IntelliJ中优化了导入,因此第一个选项可能是最好的解决方法。