2012-01-23 61 views
3

我使用Glassfish的3.1.1和MySQL的休眠3.6.5 + 5.1使用mysql-connector-java的5.1.6Glassfish的休眠JPA 2.0例外

间歇性地出现以下异常,当我运行或部署我JSF2 1.0和基于EJB3.1模块

java.lang.IllegalStateException: WEB9031: WebappClassLoader unable to load resource [com.mysql.jdbc.TimeUtil], because it has not yet been started, or was already stopped 

好资源不断变化的,每次,有时org.hibernate.event.EventListeners$2com.mysql.jdbc.profiler.ProfilerEventHandlerFactoryimport.sql

可能它是与我的配置,

<?xml version="1.0" encoding="UTF-8"?> 
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence"> 
    <persistence-unit name="XXXX" transaction-type="JTA"> 
    <provider>org.hibernate.ejb.HibernatePersistence</provider> 
    <jta-data-source>jdbc/XXXXXX</jta-data-source> 
    <exclude-unlisted-classes>false</exclude-unlisted-classes> 
    <properties> 
     <property name="hibernate.show_sql" value="true"/> 
     <property name="hibernate.hbm2ddl.auto" value="create-drop"/> 
    </properties> 
    </persistence-unit> 
</persistence> 

在Glassfish的连接池的配置属性,

driverClass: com.mysql.jdbc.Driver 
URL: jdbc:mysql://localhost:3306/XXXX 
portNumber: 3306 
databaseName: XXXX 
serverName: localhost 
user: yyy 
password: yyy 

可能有人请帮助我吗?

回答

2

啊哈。最后我找出了错误的原因。 Nebeans是一个问题,它总是在persistence.xml中选择错误版本的JPA。所以,我手动配置persistence.xml如下,它现在工作正常。

<?xml version="1.0" encoding="UTF-8"?> 
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> 
    <persistence-unit name="XXXX" transaction-type="JTA"> 
    <provider>org.hibernate.ejb.HibernatePersistence</provider> 
    <jta-data-source>jdbc/XXXXXX</jta-data-source> 
    <exclude-unlisted-classes>false</exclude-unlisted-classes> 
    <properties> 
     <property name="hibernate.show_sql" value="true"/> 
     <property name="hibernate.hbm2ddl.auto" value="create-drop"/> 
    </properties> 
    </persistence-unit> 
</persistence>