【发布时间】:2016-04-29 05:43:07
【问题描述】:
我需要让 Hibernate 从实体开始自动生成数据库,但是我希望它们全部大写。
这在过去可以工作,现在我用大写和小写字母弄乱了列名。
我启用了
.setProperty("hibernate.hbm2ddl.auto", "create")
为了让 Hibernate 自动生成数据库,我创建了一个 UppercaseNamingStrategy.java 扩展 org.hibernate.cfg.ImprovedNamingStrategy。
根据https://docs.jboss.org/hibernate/orm/5.0/manual/en-US/html_single/#configuration-namingstrategy
现在我应该
您可以通过调用指定不同的策略 添加映射前的 Configuration.setNamingStrategy():
SessionFactory sf = new Configuration() .setNamingStrategy(ImprovedNamingStrategy.INSTANCE) .addFile("Item.hbm.xml") .addFile("Bid.hbm.xml") .buildSessionFactory();org.hibernate.cfg.ImprovedNamingStrategy 是一个内置策略 对于某些应用程序来说可能是一个有用的起点。
Configuration.setNamingStrategy() 但在 Hibernate 5.0.6 中似乎不再存在。
我当然想以编程方式进行(我没有 .xml 配置文件,也不想要它们)。
注意:
使用
.setProperty("hibernate.ejb.naming_strategy", "my.project.hibernate.UppercaseNamingStrategy")
也不好用,好像完全被忽略了……
【问题讨论】: