【问题标题】:How to define primary key in hibernate for a table in which primary key is created using generated always as identity?如何在休眠中为使用生成的始终作为标识创建主键的表定义主键?
【发布时间】:2017-11-21 15:22:28
【问题描述】:

我已经创建了一个如下的客户表

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)
);

现在我想在休眠中映射表 (Customer) 及其字段。为了映射表Customer的主键id,我需要使用什么样的策略(GeneratedType)如下?

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="id")
private int id;

我已尝试使用所有策略 (AUTO,IDENTITY,TABLE,SEQUENCE)。但是对于表中定义的这个主键,它们都不起作用。

在保存客户时遇到不同类型的错误。

请指导在实体类customer中定义主键,以便我成功保存客户。

【问题讨论】:

    标签: hibernate spring-mvc hibernate-mapping oracle12c


    【解决方案1】:

    尝试使用

    select
    

    它通过某个唯一键选择行并检索主键值来检索由数据库触发器分配的主键。

    【讨论】:

      猜你喜欢
      • 2017-08-04
      • 2014-02-26
      • 1970-01-01
      • 1970-01-01
      • 2015-09-18
      • 1970-01-01
      • 1970-01-01
      • 2017-12-06
      • 2014-10-06
      相关资源
      最近更新 更多