Hibernate Spring引导生成错误的sql代码
我正在创建一个POC,以便在我的下一个项目中使用Spring boot。 现在,我创建了一个rest服务,它将查询MS sql server数据库中的所有数据 我要查询的实体如下所示:Hibernate Spring引导生成错误的sql代码,hibernate,spring-boot,spring-data-jpa,Hibernate,Spring Boot,Spring Data Jpa,我正在创建一个POC,以便在我的下一个项目中使用Spring boot。 现在,我创建了一个rest服务,它将查询MS sql server数据库中的所有数据 我要查询的实体如下所示: @Entity @Table(name = "Item", schema = "materialManagement", uniqueConstraints = @UniqueConstraint(columnNames = { "companyID", "number" })) public c
@Entity
@Table(name = "Item", schema = "materialManagement", uniqueConstraints = @UniqueConstraint(columnNames = {
"companyID", "number" }))
public class Item implements java.io.Serializable {
//all variabels are placed here
}
> spring.datasource.url =
> jdbc:sqlserver://localhost:1433;databaseName=CR_ApplicationSuite;integratedSecurity=true;
>
> spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
> ## Hibernate Properties
>
> # The SQL dialect makes Hibernate generate better SQL for the chosen database spring.jpa.properties.hibernate.dialect =
> org.hibernate.dialect.SQLServer2008Dialect
现在,当我为Item类创建存储库时:
public interface NoteRepository extends JpaRepository<Item, Long> {
}
Hibernate命名策略用 就你而言:
@Table(name = "Item", schema = "materialManagement", ...
变成
material_management
解决方案
要么将camel大小写与所有小写一起删除,要么如果必须是camel大小写,则必须更改Hibernate命名策略
应用程序属性:
spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.EJB3NamingStrategy
spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
Hibernate命名策略用 就你而言:
@Table(name = "Item", schema = "materialManagement", ...
变成
material_management
解决方案
要么将camel大小写与所有小写一起删除,要么如果必须是camel大小写,则必须更改Hibernate命名策略
应用程序属性:
spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.EJB3NamingStrategy
spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
我在application.properties中添加了以下行:
spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.EJB3NamingStrategy
spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
我在application.properties中添加了以下行:
spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.EJB3NamingStrategy
spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
你可以发布你的Hibernate属性的可能副本吗