gpt4 book ai didi

sql-server - SQL Server 2016 - 无效的对象名称 'hibernate_sequence'

转载 作者:行者123 更新时间:2023-12-02 21:43:16 26 4
gpt4 key购买 nike

我有一个镜像备份,已将其还原到 MS SQL Server 2016。我有一个实体,它的 id 声明如下:

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@XmlID
@XmlElement
@XmlJavaTypeAdapter(IntToStringXmlAdapter.class)
private Integer id;

当我保存收到的实体时:

Hibernate: select next_val as id_val from hibernate_sequence with (updlock, rowlock) 2018-02-28 22:05:41.935 
ERROR 18152 --- [nio-8080-exec-6] o.hibernate.id.enhanced.TableStructure : could not read a hi value com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name 'hibernate_sequence'.

......
2018-02-28 22:05:41.942 WARN 18152 --- [nio-8080-exec-6] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 208, SQLState: S0002

2018-02-28 22:05:41.942 ERROR 18152 --- [nio-8080-exec-6] o.h.engine.jdbc.spi.SqlExceptionHelper : Invalid object name 'hibernate_sequence'.

我已经手动创建了 SQL 服务器的序列,并确保它通过 SSMS 存在。

CREATE SEQUENCE hibernate_sequence
AS INTEGER
START WITH 1
INCREMENT BY 1
MINVALUE 1
MAXVALUE 99
NO CYCLE;

尽管如此,我仍然收到之前的错误。

知道我做错了什么吗?

提前谢谢

最佳答案

检查以下几点:

  • 您使用什么方言?
  • 您使用的休眠版本是什么?版本 5 更改了 GenerationType.AUTO 行为
  • “hibernate.hbm2ddl.auto”设置为更新并查看它在数据库中创建的内容
  • 避免GenerationType.AUTO。根据您的需要或数据库支持,将其显式设置为 GenerationType.IDENTITYGenerationType.SEQUENCE
  • 检查您是否拥有最新的 SQL Server JDBC 驱动程序。 I had issues with it migrating from hibertnate 4.3 to 5.0
  • 在 hibernate 5 中,将 hibernate.id.new_generator_mappings 设置为 false

关于sql-server - SQL Server 2016 - 无效的对象名称 'hibernate_sequence',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49037803/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com