最近在用json-lib序列化hibernate查询的实体对象.... 如果这个pojo是个复合对象(即,其中包含对主外键的关系的描述的对象),此时使用json-lib序列化json会包“Session已经关闭”的错误.... 刚开始纳闷了半天, 最后发现是hibernate的lazy机制惹的祸...
hibernate3.0中lazy默认为true,, 所以只需将lazy设置为true即可...
<many-to-one name="publisher" class="com.bookshop.entity.Publisher" fetch="select" lazy="false">
<column name="publisherId" />
</many-to-one>
<many-to-one name="bookType" class="com.bookshop.entity.BookType" fetch="select" lazy="false">
<column name="bookTypeId" />
</many-to-one>
但是这样经常会导致效率地下问题.... 想要很好的处理hibernate效率问题,则需要对lazy机制有一定的了解... 今天看到了javaeyer的一片文章写的很不错。。 留下做个记录