我创建了一个客户表格,如下所示
CREATE TABLE customer (
id number(11) generated always as identity (start with 1 increment by 1),
first_name varchar(45) DEFAULT NULL,
last_name varchar(45) DEFAULT NULL,
email varchar(45) DEFAULT NULL,
PRIMARY KEY (id)
);
现在我想在hibernate中映射表(Customer
)及其字段。要映射表Customer的主键ID,我需要使用哪种策略(GeneratedType
),如下所示?
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="id")
private int id;
我尝试过使用所有策略(AUTO,IDENTITY,TABLE,SEQUENCE
)。但是对于表中定义的这个主键,它们都没有工作。
在保存客户的同时获得不同类型的错误。
请指导在实体类客户中定义主键,以便我可以成功保存客户。
答案 0 :(得分:0)
尝试使用
select
它检索由数据库触发器分配的主键,方法是通过某个唯一键选择行并检索主键值。