简体   繁体   English

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

[英]How can I provide my own @id field using Spring Roo and JPA

I am trying to get Spring Roo to use my own @Id field instead of generating one. 我试图让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 still creates the following in User_Roo_Entity.aj: Roo仍然在User_Roo_Entity.aj中创建以下内容:

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

How can I get it to acknowledge my @Id field? 我怎样才能让它确认我的@Id字段? I want to specify my own generator etc. 我想指定我自己的发电机等。

Looks like this is a bug in Spring Roo 1.1.0.RELEASE. 看起来这是Spring Roo 1.1.0.RELEASE中的一个错误。 I changed @Id to @javax.persistence.Id and it works. 我将@Id更改为@ javax.persistence.Id并且它有效。 Explicitly importing javax.persistence.Id also works (instead of just javax.persistence.*). 显式导入javax.persistence.Id也有效(而不仅仅是javax.persistence。*)。 I have optimize imports on in IntelliJ so the first option is probably the best workaround. 我在IntelliJ中优化了导入,因此第一个选项可能是最好的解决方法。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM