hibernate如何读取clob字段值(高分送上)
一个channel下有多个document,如何通过channel得到其下所有的document呢?
Document.java
private Integer Id;
private String DocTitle;
private Clob DocContent;
private Integer DocType;
private Integer ChnlId;
Document.hbm.xml
<id name="Id" type="java.lang.Integer">
<generator class="sequence">
<param name="sequence">DOCUMENT_SEQUENCE</param>
</generator>
</id>
<property name="DocTitle" type="java.lang.String" length="1000" not-null="true"/>
<property name="DocContent" type="clob" update="true" insert="true" />
<property name="DocType" type="java.lang.Integer" not-null="true"/>
<property name="ChnlId" type="java.lang.Integer" not-null="true"/>
Document.DAO
public List getDocList( int DocChannel, int num ) {
List retList = null;
Session sess = null;
try {
sess = HibernateUtil.currentSession();
Transaction tx = sess.beginTransaction();
Query q = sess.createQuery
("from com.form.channel.WDocument wd " +
"where wd.ChnlId=? ");
q.setMaxResults( num );
q.setInteger( 0, DocChannel );
if (q.list().isEmpty() == false) {
retList = q.list();
}
tx.commit();
//log
logger.info("(取得文档集合["+DocChannel+"]执行正常)");
} catch (HibernateException he) {
//log
logger.error("(取得文档集合["+DocChannel+"]执行异常)", he);
new org.hibernate.HibernateException("getById("+DocChannel+"):"+he);
} finally {
try {
HibernateUtil.closeSession();
} catch (HibernateException he) {
new org.hibernate.HibernateException(
"HibernateUtilServlet.closeSession()");
}
}
return retList;
}