Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate Spring引导生成错误的sql代码_Hibernate_Spring Boot_Spring Data Jpa - Fatal编程技术网

Hibernate Spring引导生成错误的sql代码

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

我正在创建一个POC,以便在我的下一个项目中使用Spring boot。 现在,我创建了一个rest服务,它将查询MS sql server数据库中的所有数据

我要查询的实体如下所示:

@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属性的可能副本吗