【发布时间】:2014-01-02 12:01:10
【问题描述】:
我们正在使用JPA 2.0,我们在 websphere 中创建了数据源并尝试通过 J2SE 应用程序访问数据库。我们收到无效的用户名和密码错误。如果我们在persistence.xml 中提供用户名和密码,它就可以正常工作。
请任何人解释一下,既然我们有数据源,为什么我们必须在 persistence.xml 中提供数据库凭据。
注意:数据源创建成功,测试成功。
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="Printer">
<jta-data-source>jdbc/TestDataSource</jta-data-source>
<properties>
<property name="openjpa.Optimistic" value="false" />
<property name="openjpa.LockManager" value="pessimistic" />
<property name="javax.persistence.jdbc.user" value="admin" />
<property name="javax.persistence.jdbc.password" value="admin#2" />
</properties>
</persistence-unit>
</persistence>
【问题讨论】:
-
请放心,如果一切设置正确,这将正常工作。当 JPA 引用数据源连接时,它不会神奇地表现出不同的行为,它们都是一样的。因此,在您的期望中,有些地方出了问题;错误的数据库、错误的数据源、错误的类路径中的 persistence.xml 等。
标签: java jakarta-ee jpa jpa-2.0