2013-03-06 37 views
5

我正在嘗試使用我想從DB序列填充的屬性來持久實體。我使用的是Oracle,已經創建了序列,通過sql驗證了序列的作用,然而我的屬性沒有被填充。下面是我有:JPA:在非ID列上使用@GeneratedValue

@GeneratedValue(generator = "RFQ_LINE_IDS_SEQUENCE", strategy=GenerationType.SEQUENCE) 
@SequenceGenerator(name="RFQ_LINE_IDS_SEQUENCE", sequenceName="RFQ_LINE_IDS_SEQUENCE", allocationSize=1000000000) 
@Column(name = "external_line_item_id") 
private String externalLineItemId; 

所有我在網上看到顯示此註釋與@Id使用的例子,但是我有我使用我的ID的另一個屬性。

我也試過以下無濟於事:

@GeneratedValue(generator = "RFQ_LINE_IDS_SEQUENCE", strategy=GenerationType.SEQUENCE) 
@GenericGenerator(name = "RFQ_LINE_IDS_SEQUENCE", strategy = "sequence", 
    parameters = {@Parameter(name = "sequence", value = "RFQ_LINE_IDS_SEQUENCE")}) 
@Column(name = "external_line_item_id") 
private String externalLineItemId; 
+0

啊......我才意識到這可能是一個DUP: [休眠-JPA序列,非ID] [1] [1 ]:http://stackoverflow.com/questions/277630/hibernate-jpa-sequence-non-id – fmpdmb 2013-03-06 16:44:50

回答

3

JPA只有強制性地@GeneratedValue上@Id字段的支持。一些JPA實現(如DataNucleus JPA)支持它,但不是全部。

相關問題