问题出在spring-
boot-1.4上-似乎他们已经更改了属性(或其他属性),我现在找到了这个答案EnhancedNamingStrategy不再在Hibernate
5中工作,但仍然无法正确解决。因此,我对代码进行了一些更改,以不使用下划线方法并扩展新引入的类
SpringPhysicalNamingStrategy:
package com.foo;import org.hibernate.boot.model.naming.Identifier;import org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl;import org.hibernate.engine.jdbc.env.spi.JdbcEnvironment;import java.io.Serializable;import java.util.Locale;public class RealNamingStrategyImpl extends org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy implements Serializable { public static final PhysicalNamingStrategyImpl INSTANCE = new PhysicalNamingStrategyImpl(); @Override public Identifier toPhysicalTableName(Identifier name, JdbcEnvironment context) { return new Identifier(name.getText(), name.isQuoted()); } @Override public Identifier toPhysicalColumnName(Identifier name, JdbcEnvironment context) { return new Identifier(name.getText(), name.isQuoted()); }}
在
application.properties我已将不赞成使用的行更改为
spring.jpa.properties.hibernate.physical_naming_strategy=<package>.RealNamingStrategyImpl
现在,它完全使用表和列名,就像我在实体文件中使用的一样。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)