我有一个表(很久以前),称之为 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...
}
我很久以前在 ORACLE 中为此表创建了一个序列,我想为新项目 ID提供值从这个序列。我应该如何使用注释在java实体中编写此代码?如果你能为我的代码编写一个例子,那将会很有帮助!
我应该在 persistance.xml 中写下其他内容吗?
现有序列的名称为:seq_table_a_id
答案 0 :(得分:6)
您应该检查注释@GeneratedValue
和@SequenceGenerator
@Id
@GeneratedValue(generator="seqGen")
@SequenceGenerator(name="seqGen",sequenceName="seq_table_a_id", allocationSize=1)
private Long id;