如何测试是否已找到persistence.xml?

时间:2009-09-09 14:32:44

标签: hibernate jpa persistence

我必须在其他人开发的项目上测试一些东西,但对我来说是新的。 他们使用Hibernate作为JPA实现。

我有一个虚拟机,其中一切都已设置,但是当我想启动任何Testclient(小型控制台程序,没有Unittesting)时。我总是得到同样的错误。

Exception in thread "main" javax.persistence.PersistenceException: org.hibernate.HibernateException: Hibernate Dialect must be explicitly set
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:698)
    at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:121)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:51)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
    ...    
Caused by: org.hibernate.HibernateException: Hibernate Dialect must be explicitly set
    at org.hibernate.dialect.DialectFactory.determineDialect(DialectFactory.java:57)
    at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:39)
    at org.hibernate.cfg.SettingsFactory.determineDialect(SettingsFactory.java:409)
    at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:119)
    at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2006)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1289)
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:691)
    ... 7 more

项目结构如下所示。奇怪的是,我已经把这个东西运行了(在我的夏天之前。

|-- bin
|-- lib
|-- rsc
|   |-- META-INF
|   |   `-- persistence.xml
|-- src
|   |-- org 
|   |    | ... all sourcecode below 
`-- target

我试图缩小问题范围,因此我删除了整个META-INF文件夹。还是一样的错误。这不是我的预期,并让我相信根本找不到persistence.xml。 我不知道他们为什么把META-INF放在rsc文件夹中(正如我所提到的,这不是我的项目)但是当我把它放在根文件夹或src文件夹中时,错误仍然存​​在。

如何确保找到persistence.xml?是否有任何文件应放置META-INF。 (为什么这个错误消息如此误导?)

1 个答案:

答案 0 :(得分:1)

在启动测试应用程序时,这取决于编译文件/ jar最终的构建过程。我很确定,你不会从src-folder开始。您将获得一些构建或测试文件夹来运行您的应用程序。然后文件夹结构通常应该是这样的:

|- build
   |- classes
      |- org (packages)
         |- ...
      |- META-INF
         |- persistence.xml
         |- ... (other config files)

您还可以查看link