javax.persistence.Persistence - 动态Web项目中的ClassNotFoundException

时间:2013-03-03 19:02:08

标签: java jpa

我在动态webproject中使用JPA项目作为jar。

在我的项目中的某个时刻,我得到 java.lang.ClassNotFoundException:javax.persistence.Persistence 错误。

enter image description here

operation = RepositoryFactory.getRepositoryFactory()
        .getUserRepository().add(feedbackverantwoordelijke);
  

public boolean add(User user) {
    EntityManagerFactory emf = HibernateRepositoryFactory
            .getEntityManagerFactory();
    EntityManager em = emf.createEntityManager();
    EntityTransaction tx = em.getTransaction();
    tx.begin();

    User tempUser = null;
    try {
        // checking if the entity is already in the repository
        if (user.getId() != null) {
            tempUser = em.find(User.class, user.getId());
            //delete
            System.out.println(user.getId());
            //
        }
        // if no persist the entity
        if (tempUser == null) {
            em.persist(user);
        } else {
            // if so, get the differences and persist them
            tempUser.setPassword(user.getPassword());
            tempUser.setUserName(user.getUserName());
            tempUser = em.merge(user);
        }
    } catch (Exception e) {
        logging.error("Deze melding trad op bij het toevoegen van een user"
                + " :" + e);
    }
    tx.commit();
    em.close();
    emf.close();
    return true;
}

注意:Feedbackverantwoordelijke扩展了用户

这在我的JPA项目中非常完美。但是当我在动态webproject中从JPA jar中调用它时,我得到了错误。

在我的动态webproject中运行它时,似乎我缺少一个jar(s)。通常所有的jar都在我的JPA项目中,我可以在我的JPA项目中完成所有CRUD操作吗?

我必须在动态Web项目中加载一些jar吗?如果是这样,我必须将它们放在我的WEB-INF / lib文件夹中吗?

我也在我的JPA项目和网络邮箱中使用了joda-time jar。我必须将这些jar也放在我的动态webproject中。

回复的答案

1 个答案:

答案 0 :(得分:1)

修正了它。我需要将hibernate jar和其他外部jar添加到我的动态webproject的WEB-INF / lib文件夹中。现在我可以坚持到db。