如何从现有的ORACLE序列生成实体的ID?

vic*_*rio 1 java persistence jpa sequence jpql

我有一个表(很久以前),称之为TABLE_A,我有一个这个表的实体类:

@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...
}
Run Code Online (Sandbox Code Playgroud)

很久以前我在ORACLE中为这个表创建了一个序列,我想从这个序列给出新项目ID的值.我应该如何在带有注释的 java实体中编写此代码?如果你能为我的代码编写一个例子,那将会很有帮助!

我应该在persistance.xml中写任何其他内容吗?

现有序列的名称是: seq_table_a_id

Fid*_*kaj 6

你应该检查注释@GeneratedValue@SequenceGenerator

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

检查此链接