eclipselink - Derby 持久性.xml

标签 eclipselink derby

persistence.xml 中有关 derby 客户端驱动程序的属性声明应该是什么例如:

<property name="javax.persistence.jdbc.driver" value="  ?  " />

当尝试从 Java 更新数据库时,我不断收到以下异常。
实际上我需要客户端驱动程序而不是 EmbeddedDriver 。不知道怎么命名。
该项目在其 java 构建路径/库中具有 Derby Client JDBC 驱动程序( eclipse 插件具有 derby 插件)。 引起异常的程序指令是:

    factory = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
    EntityManager em = factory.createEntityManager();


[EL Info]: 2012-02-02 10:48:44.805--ServerSession(1434473856)--EclipseLink, version: Eclipse Persistence Services - 2.3.2.v20111125-r10461
[EL Severe]: 2012-02-02 10:48:44.93--ServerSession(1434473856)--Exception [EclipseLink-4003] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DatabaseException
Exception Description: Configuration error.  Class [org.apache.derby.jdbc.EmbeddedDriver] not found.
Exception [EclipseLink-4003] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DatabaseException
Exception Description: Configuration error.  Class [org.apache.derby.jdbc.EmbeddedDriver] not found.

最佳答案

javax.persistence.jdbc.driver 定义用于访问数据库的协议(protocol)。

如果你想访问远程/本地derby网络服务器,你需要这样设置:

<property name="javax.persistence.jdbc.driver" value="jdbc:derby://localhost:1527/my_schema  " />

其中 1527 是您的网络服务器的端口。 my_schema 是您的数据库架构。

如果您还没有架构,请使用 ;create=true 创建它:

jdbc:derby://localhost:1527/my_schema;create=true

您可能想看看 Getting Started Guide .

旁注:

Class [org.apache.derby.jdbc.EmbeddedDriver] not found.

这告诉您,并非 derby 所需的所有 jar 都存在于类路径中(在您的评论中您指出,情况就是如此)。如果遇到任何此类异常,请确保所有 jar 实际上都在类路径中。

关于eclipselink - Derby 持久性.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9109497/

相关文章:

json - 读取具有一对多关系的 JPA 模型时生成不完整的 JSON 错误

java - 可序列化对象上的 InvalidClassException

java - JPA @SqlResultSetMapping 无法处理要映射到空 POJO 的空 sql 结果 - 而是抛出异常

java - 如何修复 : ON DELETE CASCADE ON UPDATE CASCADE using derby/EmbeddedDriver

unit-testing - 如何使用内存中的 Derby 数据库进行 Hive (Scala) 测试

jpa - 在 Spring dm Server 1.x 中使用 EclipseLink JPA 时出现 Aspectj 加载时编织问题

mysql - 基于 EclipseLink 2.5、JPA 2.0 中实体值的表名

java - 我如何从 Java 中一般检测数据库是否为 'empty'

带有 JPA + Hibernate(或类似)和 Apache Derby 嵌入式数据库的 Java 独立应用程序

sql - Derby 对 NULL 值的处理