Java SQL Server和其他服务器的Hibernate生成类型
我编写的程序使用不同的数据库,如sql server、oracle等。我的问题是我无法处理GenerationType并在表中插入正确的行。使用GenerationType.AUTO和hibernate.id.new_generator_映射:=在sql server中为false,我的程序可以将新行插入表中,但id始终为null,当GenerationType为IDENTITY时也会出现同样的问题 我试图只为sql server添加自动增量,但Liquibase对我大喊大叫,mssql不支持自动增量。当我为Oracle和SQL Server使用序列时,我的程序试图从生成器中获取下一个值,但它无法执行无限循环。即使我为ID设置了默认值,它也不会增加这个值 这是我的密码:Java SQL Server和其他服务器的Hibernate生成类型,java,sql-server,oracle,hibernate,auto-increment,Java,Sql Server,Oracle,Hibernate,Auto Increment,我编写的程序使用不同的数据库,如sql server、oracle等。我的问题是我无法处理GenerationType并在表中插入正确的行。使用GenerationType.AUTO和hibernate.id.new_generator_映射:=在sql server中为false,我的程序可以将新行插入表中,但id始终为null,当GenerationType为IDENTITY时也会出现同样的问题 我试图只为sql server添加自动增量,但Liquibase对我大喊大叫,mssql不支持自
@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator = "name")
@SequenceGenerator(name = "name", sequenceName = "SEQ", allocationSize = 1)
private Long id;
我希望能够将自动递增索引添加到表中,它应该适用于SQL Server数据库,我不希望使用表策略生成,因为它需要在db中添加表。问题已解决。我在Liquibase xml文件中添加了一个条件,用于检查db是否为mssql类型,以及它是否为true。脚本将删除ID列,并使用IDENTITY1,1选项将其添加 唯一的问题是,现在我必须切换前面提到的hibernate.id.new_generator_mappings设置