我在动态webproject中使用JPA项目作为jar。
在我的项目中的某个时刻,我得到 java.lang.ClassNotFoundException:javax.persistence.Persistence 错误。
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中。
回复的答案
答案 0 :(得分:1)
修正了它。我需要将hibernate jar和其他外部jar添加到我的动态webproject的WEB-INF / lib文件夹中。现在我可以坚持到db。