对应的JAVA文件和HBM如下
package com.sunix;
import java.io.Serializable;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
import java.sql.Blob;
/ @author Hibernate CodeGenerator */
public class Blobtest implements Serializable {
/ identifier field */
private String bid;
/ nullable persistent field */
private Blob bcontent;
/ full constructor */
public Blobtest(Blob bcontent) {
this.bcontent = bcontent;
}
/** default constructor */
public Blobtest() {
}
public java.lang.String getBid() {
return this.bid;
}
public void setBid(java.lang.String bid) {
this.bid = bid;
}
public Blob getBcontent() {
return this.bcontent;
}
public void setBcontent(Blob bcontent) {
this.bcontent = bcontent;
}
public String toString() {
return new ToStringBuilder(this)
.append("bid", getBid())
.toString();
}
public boolean equals(Object other) {
if ( !(other instanceof Blobtest) ) return false;
Blobtest castOther = (Blobtest) other;
return new EqualsBuilder()
.append(this.getBid(), castOther.getBid())
.isEquals();
}
public int hashCode() {
return new HashCodeBuilder()
.append(getBid())
.toHashCode();
}
}
管理SESSION的那个就不贴了,是从LIFERAY里COPY出来的
下面这个是用来写Blob的类
package com.sunix;
import net.sf.hibernate.HibernateException;
import net.sf.hibernate.Session;
import net.sf.hibernate.*;
import net.sf.hibernate.SessionFactory;
import net.sf.hibernate.cfg.Configuration;
import com.sunix.Blobtest;
import com.sunix.hibernate.*;
public class testBlob {
private Session session=null;
public testBlob() {
}
public void add(String _content){
try{
session=hibernatesession.openSession();
Blobtest bt=new Blobtest();
//之所以这么写BLOB是因为我在HIBERNATE的TEST的原码中看到的
bt.setBcontent(Hibernate.createBlob(_content.getBytes()));
session.save(bt);
session.flush();
}catch(Exception ex){
ex.printStackTrace();
System.out.println(ex.getMessage());
}
finally {
hibernatesession.closeSession(session);
}
}
}
日志:
2003-8-25 15:51:44 net.sf.hibernate.cfg.Environment
信息: using java.io streams to persist binary types
2003-8-25 15:51:44 net.sf.hibernate.cfg.Environment
信息: using CGLIB reflection optimizer
2003-8-25 15:51:44 net.sf.hibernate.cfg.Environment
信息: JVM proxy support: true
2003-8-25 15:51:44 net.sf.hibernate.cfg.Configuration addClass
信息: Mapping resource: com/sunix/Blobtest.hbm.xml
2003-8-25 15:51:45 net.sf.hibernate.cfg.Binder bindRootClass
信息: Mapping class: com.sunix.Blobtest -> BLOBTEST
2003-8-25 15:51:46 net.sf.hibernate.cfg.Configuration secondPassCompile
信息: processing one-to-many association mappings
2003-8-25 15:51:46 net.sf.hibernate.cfg.Configuration secondPassCompile
信息: processing one-to-one association property references
2003-8-25 15:51:46 net.sf.hibernate.cfg.Configuration secondPassCompile
信息: processing foreign key constraints
2003-8-25 15:51:46 net.sf.hibernate.impl.SessionFactoryImpl
信息: building session factory
2003-8-25 15:51:46 net.sf.hibernate.dialect.Dialect
信息: Using dialect: net.sf.hibernate.dialect.OracleDialect
2003-8-25 15:51:46 net.sf.hibernate.cfg.SettingsFactory buildSettings
信息: Use outer join fetching: true
2003-8-25 15:51:46 net.sf.hibernate.connection.DriverManagerConnectionProvider configure
信息: Hibernate connection pool size: 20
2003-8-25 15:51:47 net.sf.hibernate.cfg.SettingsFactory buildSettings
信息: Use scrollable result sets: true
2003-8-25 15:51:47 net.sf.hibernate.cfg.SettingsFactory buildSettings
信息: JDBC 2 max batch size: 15
2003-8-25 15:51:47 net.sf.hibernate.cfg.SettingsFactory buildSettings
信息: echoing all SQL to stdout
2003-8-25 15:51:47 net.sf.hibernate.cfg.SettingsFactory buildSettings
信息: Query language substitutions: {}
2003-8-25 15:51:47 net.sf.hibernate.ps.PreparedStatementCache
信息: prepared statement cache size: 6
2003-8-25 15:51:48 net.sf.hibernate.impl.SessionFactoryObjectFactory addInstance
信息: no JNDI name configured
Hibernate: insert into ll.BLOBTEST (BCONTENT, BID) values (?, ?)