我有一个使用 Spring 3.0.2、Hibernate 3.5.1、JPA 2 和 Derby 在 Tomcat 中运行的非常简单的 Web 应用程序。我正在定义我所有的数据库连接,persistence.xml
并且仅使用 Spring 进行依赖注入。我使用嵌入式 Derby 作为我的数据库。
persistence.xml
当我以经典的 Hibernate 方式定义驱动程序和 url 属性时,一切正常,如下所示:
<property name="hibernate.connection.driver_class" value="org.apache.derby.jdbc.EmbeddedDriver"/>
<property name="hibernate.connection.url" value="jdbc:derby:webdb;create=true"/>
当我将配置切换到 JPA2 标准化属性时会出现问题,如下所示:
<property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.EmbeddedDriver"/>
<property name="javax.persistence.jdbc.url" value="jdbc:derby:webdb;create=true"/>
使用 JPA2 属性键时,应用程序会遇到以下异常:
java.lang.UnsupportedOperationException: The user must supply a JDBC connection
有谁知道为什么会失败?
注意:我直接从 Hibernate 参考文档中复制了 javax... 属性字符串,因此极不可能出现拼写错误。