2010-07-05 91 views
1

当我尝试使用Hibernate XML映射文件,在我的应用程序的Bean在我的数据库映射表...的hbm.xml我obtein休耕resulteverytime我运行应用程序:休眠大写

信息:找不到表:especies 初始SessionFactory的创建 failed.org.hibernate.HibernateException: 缺少表:especies

我已经意识到这个问题是冬眠doesn't认识我的表,因为我有它在小写在分贝。

我意识到这一点,因为当我在创建和放置模式下更改属性hibernate.hbm2ddl.auto(放置在hibernate.cfg.xml中,我将它放在验证模式下)时,它的工作原理是因为它创建了一个新表以大写字母(包含列名),并且让旧的小写字母不变。

我想这是一些关于休眠conguration,所以......

如何更改Hibernate的配置来了解我的分贝的小写配置?

+0

Nop it is derby(Jave db embbebed) – Diana 2010-07-05 18:58:25

回答

3

默认情况下,Hibernate使用DefaultNamingStrategy,它使用混合大小写的数据库对象名称。这通常不能很好地工作。它提供了一种称为ImprovedNamingStrategy的替代方法,它使用下划线而不是混合大小写,这通常更适合数据库。

你如何配置这取决于你的设置,但你没有说如果你使用注释或XML配置。

+0

感谢您的回答,我使用的是xml config。如果你告诉我,我将不胜感激,我该如何配置它。 – Diana 2010-07-05 19:30:52

+0

@Diana:查看http://docs.jboss.org/hibernate/core/3.3/reference/en/html/session-configuration.html#configuration-namingstrategy @skaffman:+1 – 2010-07-06 08:24:19

+0

工作链接自版本3.6起:[ DefaultNamingStrategy](http://docs.jboss.org/hibernate/core/3.6/javadocs/org/hibernate/cfg/DefaultNamingStrategy.html)和[ImprovedNamingStrategy](http://docs.jboss.org/hibernate/core/ 3.6/javadocs中/组织/休眠/ cfg中/ ImprovedNamingStrategy.html)。我无法再找到稳定版本的通用链接。 – stivlo 2011-09-07 08:05:55