【问题标题】:main() throws exception from createEntityManager() when using EclipseLink使用 EclipseLink 时 main() 从 createEntityManager() 抛出异常
【发布时间】:2012-03-25 10:13:40
【问题描述】:

我有一个使用 JPA 实体写入 Derby DB 的简单程序(实体是从现有的 DB 表生成的)。我正在使用 Eclipse,并且 Derby 客户端和服务器之间通过 EclipseLink Data Source Explorer 建立了有效连接。

这是我的 main() 的开始:

import javax.persistence.*;
import java.sql.Timestamp;
import java.util.*;
import javax.*;

public class start {

    /**
     * @param args
     */
    private static final String PERSISTENCE_UNIT_NAME = "zodiac";
    private static EntityManagerFactory factory;

    public static void main(String[] args) {
    try {
        factory = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
        EntityManager em = factory.createEntityManager();
        System.out.println("after factory gen" );

当我执行 createEntityManager() 行时,会引发以下异常:

[EL 信息]:2012-03-07 22:46:21.892--ServerSession(253038357)--EclipseLink,版本:Eclipse Persistence Services - 2.3.2.v20111125-r10461 [EL 严重]:2012-03-07 22:46:22.064--ServerSession(253038357)--异常 [EclipseLink-4002] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions .DatabaseException 内部异常:java.sql.SQLException:没有合适的驱动程序 错误代码:0

知道有什么问题吗?谢谢

【问题讨论】:

    标签: exception eclipselink


    【解决方案1】:

    如果您在 Eclipse 中,则需要将驱动程序添加到您的项目类路径中。听起来您已经有一个数据源,所以您必须定义驱动程序库。您需要做的就是“添加库”到您的 Java 构建路径并选择“连接驱动程序定义”,然后从可用驱动程序定义的下拉列表中选择 Derby 驱动程序。

    仅供参考,新建 JPA 项目向导中有一个复选框,您可以在创建新项目时选择“将驱动程序添加到类路径”来执行此操作。

    当然,您也可以将 derbyclient.jar 直接添加到您的类路径中,或者定义一个包含它的用户库。

    --肖恩

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多