2010-11-19 3 views
6

bereitstellen Ich versuche, Spring Roo zu verwenden, mein eigenes @ Id-Feld zu verwenden, anstatt eines zu generieren.Wie kann ich mein eigenes @id-Feld mit Spring Roo und JPA

@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 schafft noch folgendes in User_Roo_Entity.aj:

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

Wie kann ich es mein @Id Feld bestätigen? Ich möchte meinen eigenen Generator usw. angeben.

Antwort

2

Sieht so aus, als wäre dies ein Bug in Spring Roo 1.1.0.RELEASE. Ich habe @Id in @ javax.persistence.Id geändert und es funktioniert. Explizit das Importieren von javax.persistence.Id funktioniert auch (statt nur javax.persistence. *). Ich habe Optimierungsimporte in IntelliJ, also ist die erste Option wahrscheinlich die beste Problemumgehung.

+0

Ich habe einen Roo-Fehler protokolliert: https://jira.springframework.org/browse/ROO-1755 –

+0

Angenommen, STS, immer sicherstellen, dass die Roo-Shell ausgeführt wird, wenn Sie Entitäten ändern, so dass die Änderungen wirksam werden können. – opyate

Verwandte Themen