2010-11-19 31 views
6

का उपयोग करके अपना खुद का @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 } 
    ... 
} 

रू अभी भी बनाता है User_Roo_Entity.aj में निम्नलिखित:

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

कैसे मैं इसे अपने @Id क्षेत्र स्वीकार करने के लिए मिल सकता है? मैं अपना खुद का जेनरेटर आदि निर्दिष्ट करना चाहता हूं

उत्तर

2

ऐसा लगता है कि यह स्प्रिंग रू 1.1.0.RELEASE में एक बग है। मैंने @Id को @ javax.persistence.Id में बदल दिया और यह काम करता है। स्पष्ट रूप से javax.persistence.Id आयात भी करता है (केवल javax.persistence के बजाय। *)। मैंने IntelliJ में आयात को अनुकूलित किया है, इसलिए पहला विकल्प शायद सबसे अच्छा कामकाज है।

+0

मैंने एक रू बग लॉग किया: https://jira.springframework.org/browse/ROO-1755 –

+0

एसटीएस प्रस्तुत करना, हमेशा सुनिश्चित करें कि यदि आप इकाइयों को संशोधित करते हैं तो रू खोल चल रहा है, इसलिए परिवर्तन प्रभावी हो सकते हैं। – opyate

संबंधित मुद्दे