【问题标题】:Auto increment MicrosoftSQL in Hibernate (Java)在 Hibernate (Java) 中自动递增 MicrosoftSQL
【发布时间】:2017-04-02 18:32:39
【问题描述】:

我有一个关于如何更改 Hibernate(在 Java Spring 启动应用程序中)将 DDL SQL 语句发送到 Microsoft SQL DB 的方式的问题。

我按照本网站 (http://therealdanvega.com/blog/2015/11/03/spring-boot-connect-to-azure-sql-server-database) 上的指南将 Spring Boot 应用程序连接到 Azure MS SQL DB,效果很好。唯一的问题是,Hibernate 默认使用 MySQL 语法,因此虽然两者之间存在细微差别(就语法而言),但仍然足以引发错误。

例如 - 假设您在模型类中有以下属性:

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;

当使用它连接到 Azure MS SQL DB 时,它实际上会引发错误,因为 CREATE TABLE 语句使用了 AUTO_INCREMENT 关键字。我的问题是,有没有办法改变 Hibernate 用于其 SQL DDL 语句的语法?

谢谢。

【问题讨论】:

    标签: hibernate sql-server-2008 spring-boot


    【解决方案1】:

    前一阵子想通了,但用这个:

    @GeneratedValue(strategy = javax.persistence.GenerationType.IDENTITY)
    

    这个 (http://www.developerscrappad.com/408/java/java-ee/ejb3-jpa-3-ways-of-generating-primary-key-through-generatedvalue/) 链接解释了为什么...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-13
      • 1970-01-01
      • 2011-01-04
      • 2015-11-10
      • 2015-02-22
      • 2016-05-05
      • 2015-03-05
      相关资源
      最近更新 更多