一个老问题:could not initialize a collection: XXX LazyInitializationException:懒惰加载错误,用OpenSessioninView呗 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我觉得好象是你的那个private Set posts = new HashSet();这句话有问题吧,你把这个set集合给改一下看看 噢,试试1楼的.2楼的我也要试试,不过觉得应该不会啊,我在Board.java中也设置了 private Set topics = new HashSet();但不会出错, 照理应 private Set posts = new HashSet(); 该不会错啊. 试试看. package com.coolgo.domain.dao;import java.util.Date;import java.util.List;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.hibernate.LockMode;import org.hibernate.Query;import org.hibernate.criterion.Example;import com.coolgo.domain.model.Post;/** * A data access object (DAO) providing persistence and search support for Post * entities. Transaction control of the save(), update() and delete() operations * can directly support Spring container-managed transactions or they can be * augmented to handle user-managed Spring transactions. Each of these methods * provides additional information for how to configure it for the desired type * of transaction control. * * @see com.coolgo.domain.model.Post * @author MyEclipse Persistence Tools */public class PostDAO extends BaseHibernateDAO { private static final Log log = LogFactory.getLog(PostDAO.class); // property constants public static final String POST_BOARDID = "postBoardid"; public static final String POST_USER = "postUser"; public static final String POST_TOPICID = "postTopicid"; public static final String POST_REPLYID = "postReplyid"; public static final String POST_CONTENT = "postContent"; public static final String POST_IP = "postIp"; public void save(Post transientInstance) { log.debug("saving Post instance"); try { getSession().save(transientInstance); log.debug("save successful"); } catch (RuntimeException re) { log.error("save failed", re); throw re; } } public void delete(Post persistentInstance) { log.debug("deleting Post instance"); try { getSession().delete(persistentInstance); log.debug("delete successful"); } catch (RuntimeException re) { log.error("delete failed", re); throw re; } } public Post findById(java.lang.Integer id) { log.debug("getting Post instance with id: " + id); try { Post instance = (Post) getSession().get( "com.coolgo.domain.model.Post", id); return instance; } catch (RuntimeException re) { log.error("get failed", re); throw re; } } public List findByExample(Post instance) { log.debug("finding Post instance by example"); try { List results = getSession().createCriteria( "com.coolgo.domain.model.Post").add(Example.create(instance)) .list(); log.debug("find by example successful, result size: " + results.size()); return results; } catch (RuntimeException re) { log.error("find by example failed", re); throw re; } } public List findByProperty(String propertyName, Object value) { log.debug("finding Post instance with property: " + propertyName + ", value: " + value); try { String queryString = "from Post as model where model." + propertyName + "= ?"; Query queryObject = getSession().createQuery(queryString); queryObject.setParameter(0, value); return queryObject.list(); } catch (RuntimeException re) { log.error("find by property name failed", re); throw re; } } public List findByPostBoardid(Object postBoardid) { return findByProperty(POST_BOARDID, postBoardid); } public List findByPostUser(Object postUser) { return findByProperty(POST_USER, postUser); } public List findByPostTopicid(Object postTopicid) { return findByProperty(POST_TOPICID, postTopicid); } public List findByPostReplyid(Object postReplyid) { return findByProperty(POST_REPLYID, postReplyid); } public List findByPostContent(Object postContent) { return findByProperty(POST_CONTENT, postContent); } public List findByPostIp(Object postIp) { return findByProperty(POST_IP, postIp); } public List findAll() { log.debug("finding all Post instances"); try { String queryString = "from Post"; Query queryObject = getSession().createQuery(queryString); return queryObject.list(); } catch (RuntimeException re) { log.error("find all failed", re); throw re; } } public Post merge(Post detachedInstance) { log.debug("merging Post instance"); try { Post result = (Post) getSession().merge(detachedInstance); log.debug("merge successful"); return result; } catch (RuntimeException re) { log.error("merge failed", re); throw re; } } public void attachDirty(Post instance) { log.debug("attaching dirty Post instance"); try { getSession().saveOrUpdate(instance); log.debug("attach successful"); } catch (RuntimeException re) { log.error("attach failed", re); throw re; } } public void attachClean(Post instance) { log.debug("attaching clean Post instance"); try { getSession().lock(instance, LockMode.NONE); log.debug("attach successful"); } catch (RuntimeException re) { log.error("attach failed", re); throw re; } }}是这个吗? 谁能解决? 01:58:52,718 WARN org.hibernate.util.JDBCExceptionReporter:100 - SQL Error: 114 poi 3.8 导出excel 乱码 struts2返回json数据的问题,请教。 成长的烦恼(新手提问) 高手救救命吧?服务器居然进程数多达60?没发现什么病毒。怎么会这么多pid? 关于hibernate调试信息? 那有WebLogic8.1中文版下载 在一个servlet中如何调用另一个servlet?? netty 百万级长连接 maven创建web项目的问题 急救:struts2中的传参数问题?
2楼的我也要试试,不过觉得应该不会啊,我在Board.java中也设置了 private Set topics = new HashSet();但不会出错,
照理应 private Set posts = new HashSet(); 该不会错啊. 试试看.
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.LockMode;
import org.hibernate.Query;
import org.hibernate.criterion.Example;import com.coolgo.domain.model.Post;/**
* A data access object (DAO) providing persistence and search support for Post
* entities. Transaction control of the save(), update() and delete() operations
* can directly support Spring container-managed transactions or they can be
* augmented to handle user-managed Spring transactions. Each of these methods
* provides additional information for how to configure it for the desired type
* of transaction control.
*
* @see com.coolgo.domain.model.Post
* @author MyEclipse Persistence Tools
*/public class PostDAO extends BaseHibernateDAO {
private static final Log log = LogFactory.getLog(PostDAO.class);
// property constants
public static final String POST_BOARDID = "postBoardid";
public static final String POST_USER = "postUser";
public static final String POST_TOPICID = "postTopicid";
public static final String POST_REPLYID = "postReplyid";
public static final String POST_CONTENT = "postContent";
public static final String POST_IP = "postIp"; public void save(Post transientInstance) {
log.debug("saving Post instance");
try {
getSession().save(transientInstance);
log.debug("save successful");
} catch (RuntimeException re) {
log.error("save failed", re);
throw re;
}
} public void delete(Post persistentInstance) {
log.debug("deleting Post instance");
try {
getSession().delete(persistentInstance);
log.debug("delete successful");
} catch (RuntimeException re) {
log.error("delete failed", re);
throw re;
}
} public Post findById(java.lang.Integer id) {
log.debug("getting Post instance with id: " + id);
try {
Post instance = (Post) getSession().get(
"com.coolgo.domain.model.Post", id);
return instance;
} catch (RuntimeException re) {
log.error("get failed", re);
throw re;
}
} public List findByExample(Post instance) {
log.debug("finding Post instance by example");
try {
List results = getSession().createCriteria(
"com.coolgo.domain.model.Post").add(Example.create(instance))
.list();
log.debug("find by example successful, result size: "
+ results.size());
return results;
} catch (RuntimeException re) {
log.error("find by example failed", re);
throw re;
}
} public List findByProperty(String propertyName, Object value) {
log.debug("finding Post instance with property: " + propertyName
+ ", value: " + value);
try {
String queryString = "from Post as model where model."
+ propertyName + "= ?";
Query queryObject = getSession().createQuery(queryString);
queryObject.setParameter(0, value);
return queryObject.list();
} catch (RuntimeException re) {
log.error("find by property name failed", re);
throw re;
}
} public List findByPostBoardid(Object postBoardid) {
return findByProperty(POST_BOARDID, postBoardid);
} public List findByPostUser(Object postUser) {
return findByProperty(POST_USER, postUser);
} public List findByPostTopicid(Object postTopicid) {
return findByProperty(POST_TOPICID, postTopicid);
} public List findByPostReplyid(Object postReplyid) {
return findByProperty(POST_REPLYID, postReplyid);
} public List findByPostContent(Object postContent) {
return findByProperty(POST_CONTENT, postContent);
} public List findByPostIp(Object postIp) {
return findByProperty(POST_IP, postIp);
} public List findAll() {
log.debug("finding all Post instances");
try {
String queryString = "from Post";
Query queryObject = getSession().createQuery(queryString);
return queryObject.list();
} catch (RuntimeException re) {
log.error("find all failed", re);
throw re;
}
} public Post merge(Post detachedInstance) {
log.debug("merging Post instance");
try {
Post result = (Post) getSession().merge(detachedInstance);
log.debug("merge successful");
return result;
} catch (RuntimeException re) {
log.error("merge failed", re);
throw re;
}
} public void attachDirty(Post instance) {
log.debug("attaching dirty Post instance");
try {
getSession().saveOrUpdate(instance);
log.debug("attach successful");
} catch (RuntimeException re) {
log.error("attach failed", re);
throw re;
}
} public void attachClean(Post instance) {
log.debug("attaching clean Post instance");
try {
getSession().lock(instance, LockMode.NONE);
log.debug("attach successful");
} catch (RuntimeException re) {
log.error("attach failed", re);
throw re;
}
}
}
是这个吗?