2010-11-19 2 views
6

Sto cercando di ottenere Spring Roo per utilizzare il mio campo @Id invece di generarne uno.Come posso fornire il mio campo @id utilizzando Spring Roo e 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 crea ancora quanto segue in User_Roo_Entity.aj:

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

Come posso convincerlo per riconoscere il mio campo @Id? Voglio specificare il mio generatore ecc.

risposta

2

Sembra che questo sia un bug in Spring Roo 1.1.0.RELEASE. Ho cambiato @Id in @javax.persistence.Id e funziona. Importante anche l'importazione javax.persistence.Id (invece di javax.persistence. *). Ho ottimizzato le importazioni in IntelliJ, quindi la prima opzione è probabilmente la soluzione migliore.

+0

Ho registrato un bug di Roo: https://jira.springframework.org/browse/ROO-1755 –

+0

Presumendo STS, assicurati sempre che la shell Roo sia in esecuzione se modifichi le entità, quindi le modifiche possono avere effetto. – opyate