当前位置:  开发笔记 > 编程语言 > 正文

hibernate列名称问题

如何解决《hibernate列名称问题》经验,为你挑选了6个好方法。

仅供参考:插入下划线的原因可能是因为您正在使用ImprovedNamingStrategy.它在Configuration对象上设置.见这里的一个例子...

如果您不想使用下划线,则可以不设置命名策略,或将其设置为之前发现的DefaultNamingStrategy.



1> Dan Vinton..:

仅供参考:插入下划线的原因可能是因为您正在使用ImprovedNamingStrategy.它在Configuration对象上设置.见这里的一个例子...

如果您不想使用下划线,则可以不设置命名策略,或将其设置为之前发现的DefaultNamingStrategy.



2> Rahul Singh..:

试着把它放进去

application.properties

spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl



3> OscarRyz..:

这是一个可能的解决方法:如果您命名它dateofbirth,DB中的列将被命名为,但属性名称应该相同.

Hibernate采用驼峰大小写格式来创建/读取数据库列.

我以前遇到过这个问题.我使用了遗留列,其中列名称"employeename","employeerole","departmentlocation"中没有空格.我讨厌它,因为我所有的豆属性都必须没有驼峰的情况.

由"_"分隔的数据库列将用于正确的camelCase,如您所见.



4> Ryan Anderso..:

将@Column注释放在getter上:

@Column(name="DateOfBirth")
public Date getDateOfBirth() {
...
}



5> 小智..:

如果是春季启动,请添加以下属性。

spring.jpa.hibernate.naming.implicit-strategy = org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl spring.jpa.hibernate.naming.physical-strategy = org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl



6> 小智..:

改进的NamingStrategy具有addUnderscores()方法,该方法从tableName()和columnName()调用,您可以实现自己的命名策略类,并根据您的选择覆盖它们

    public class MyOwnNamingStrategy extends ImprovedNamingStrategy {
        @Override
        public String tableName(String tableName) {
        //return addUnderscores(columnName); // skip this
        return columnName; // if you want column name variable name same
        //return changeAsYouWant(columnName); // as name sames
       }
   }

推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有