我正在使用:Eclipse Java EE IDE Web Developers 版本:Indigo Release
使用休眠工具,我是 Eclipse 中休眠的新手,所以我学习了如何配置休眠并生成带有注释的 POJO(我认为这比 .xml 更好)。
因此,在生成我的 POJO 和 DAO 之后,我尝试进行插入,但向我的实体管理器启动“空点异常”,这就是休眠工具生成 dao 类的方式:
尝试使用生成的 DAO:
public static void main(String[] args) {
// TODO Auto-generated method stub
User user = new User();
user.setEmail("valter@brainset.com.br");
user.setPassword("123456");
user.setReputation(0);
DaoUser daoUser = new DaoUser();
daoUser.persist(user);
}
DAO 生成:
package com.example.pojo;
// Generated 30/08/2011 20:43:29 by Hibernate Tools 3.4.0.CR1
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/**
* Home object for domain model class User.
* @see com.example.pojo.User
* @author Hibernate Tools
*/
@Stateless
public class UserHome {
private static final Log log = LogFactory.getLog(UserHome.class);
@PersistenceContext
private EntityManager entityManager;
public void persist(User transientInstance) {
log.debug("persisting User instance");
try {
entityManager.persist(transientInstance);
log.debug("persist successful");
} catch (RuntimeException re) {
log.error("persist failed", re);
throw re;
}
}
public void remove(User persistentInstance) {
log.debug("removing User instance");
try {
entityManager.remove(persistentInstance);
log.debug("remove successful");
} catch (RuntimeException re) {
log.error("remove failed", re);
throw re;
}
}
public User merge(User detachedInstance) {
log.debug("merging User instance");
try {
User result = entityManager.merge(detachedInstance);
log.debug("merge successful");
return result;
} catch (RuntimeException re) {
log.error("merge failed", re);
throw re;
}
}
public User findById(Integer id) {
log.debug("getting User instance with id: " + id);
try {
User instance = entityManager.find(User.class, id);
log.debug("get successful");
return instance;
} catch (RuntimeException re) {
log.error("get failed", re);
throw re;
}
}
}
我想我在配置过程中一定做错了什么。我应该如何正确设置我的课程和 dao 的?