2014-01-31 32 views
1

我有一個表(很長一段時間以前),把它TABLE_A,我有這個表的實體類:如何從現有的ORACLE序列中爲實體生成ID?

@Entity 
@Table(name = "TABLE_A") 
public class TableA implements Serializable { 
    @Id 
    @Basic(optional = false) 
    @Column(name = "ID") 
    //what else should I write here, to get the value from the existing sequence (seq_table_a_id) from database? 
    private Long id; 

    @Basic(optional = false) 
    @Column(name = "VALID_TO_DT") 
    private String name; 

    getters/setters... 
} 

我在創建序列此表ORACLE很久以前,我想給出這個序列的新項目的ID的值。我應該怎麼寫這個代碼在Java實體註釋?如果你能爲我的代碼寫一個例子,那會很有幫助!

而且我應該寫什麼其他可能在persistance.xml

現有序列的名稱是:seq_table_a_id

回答

6

您應檢查註釋@GeneratedValue@SequenceGenerator

@Id 
@GeneratedValue(generator="seqGen") 
@SequenceGenerator(name="seqGen",sequenceName="seq_table_a_id", allocationSize=1) 
private Long id; 

Check this link

+1

感謝,作品! – victorio

相關問題