【发布时间】:2014-03-23 17:37:20
【问题描述】:
我正在开发一个 Web 应用程序(Eclipse、TomEE)并尝试与 MySQL 数据库进行通信:
- 我已经创建了数据库
- 我已经包含了 EclipseLink 和 MySQL-Driver
- 连接正常(我试过 ping 没问题)
当我尝试持久化数据时出现此错误
Grave: could not reopen database
org.hsqldb.HsqlException: Database lock acquisition failure: lockFile:org.hsqldb.persist.LockFile@81911f7a[file =C:\Program Files\eclipse\data\hsqldb\hsqldb.lck, exists=false, locked=false, valid=false, ] method: openRAF reason: java.io.FileNotFoundException: C:\Program Files\eclipse\data\hsqldb\hsqldb.lck (Le chemin d’accès spécifié est introuvable)
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.persist.LockFile.newLockFileLock(Unknown Source)
at org.hsqldb.persist.Logger.acquireLock(Unknown Source)
at org.hsqldb.persist.Logger.open(Unknown Source)
at org.hsqldb.Database.reopen(Unknown Source)
at org.hsqldb.Database.open(Unknown Source)
at org.hsqldb.DatabaseManager.getDatabase(Unknown Source)
at org.hsqldb.DatabaseManager.newSession(Unknown Source)
at org.hsqldb.jdbc.JDBCConnection.<init>(Unknown Source)
at org.hsqldb.jdbc.JDBCDriver.getConnection(Unknown Source)
at org.hsqldb.jdbc.JDBCDriver.connect(Unknown Source)
at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:278)
...
我不明白为什么它是关于 hsqldb 而我已经配置了 MySQL
我在 src/META-INF 中有 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="UP" transaction-type="JTA">
<class>jpa.User</class>
</persistence-unit>
</persistence>
我这样称呼 entityManager:
@Stateless
public class UserFacade extends AbstractFacade<User> implements UserFacadeLocal {
@PersistenceContext (unitName="UP")
private EntityManager em;
...
}
【问题讨论】:
标签: mysql jakarta-ee entitymanager persistence.xml apache-tomee