• jpa报错:Table 'dev-test.hibernate_sequence' doesn't exist


    Hibernate 能够出色地自动生成主键。Hibernate/EBJ 3 注释也可以为主键的自动生成提供丰富的支持,允许实现各种策略。
    其生成规则由@GeneratedValue设定的.这里的@id和@GeneratedValue都是JPA的标准用法, JPA提供四种标准用法,由@GeneratedValue的源代码可以明显看出.
    JPA提供的四种标准用法为TABLE,SEQUENCE,IDENTITY,AUTO.
    TABLE:使用一个特定的数据库表格来保存主键。
    SEQUENCE:根据底层数据库的序列来生成主键,条件是数据库支持序列。
    IDENTITY:主键由数据库自动生成(主要是自动增长型)
    AUTO:主键由程序控制。
    在指定主键时,如果不指定主键生成策略,默认为AUTO。
    @Id
    相当于
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)

    identity:
    使用SQL Server 和 MySQL 的自增字段,这个方法不能放到 Oracle 中,Oracle 不支持自增字段,要设定sequence(MySQL 和 SQL Server 中很常用)。
    Oracle就要采用sequence了.

     

    我这里把自动生成修改为这样就可以了:

    @GeneratedValue(strategy=GenerationType.IDENTITY)


  • 相关阅读:
    第5章 JDBC/ODBC服务器
    第4章 SparkSQL数据源
    第3章 SparkSQL解析
    第2章 执行SparkSQL查询
    第1章 Spark SQL概述
    Ubutun重启网卡
    Java面试通关要点汇总整理
    40道Java基础常见面试题及详细答案
    ListView
    数据库表及字段命名规范
  • 原文地址:https://www.cnblogs.com/wgslucky/p/10109615.html
Copyright © 2020-2023  润新知