原创  hibernate 写入 clob, Blob 收藏

import java.io.FileInputStream;
import java.io.OutputStream;

import org.hibernate.Hibernate;
import org.hibernate.LockMode;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.lob.SerializableBlob;
import org.hibernate.lob.SerializableClob;

import t_user.Testuser;

public class ReadOracleDemo {

/**
* @param args
*/
public static void main(String[] args) throws Exception{
// TODO Auto-generated method stub
Session session=HibernateSessionFactory.getSession();
Transaction tx=session.beginTransaction();
Testuser user=new Testuser();
user.setAge((long)24);
user.setId((long)5);
user.setName("xiaoxin");
user.setUsertype((long)2);
user.setVersion((long)1);
user.setPhoto(Hibernate.createBlob(new byte[1]));
user.setResume(Hibernate.createClob(" "));
session.save(user);
session.flush();

session.refresh(user, LockMode.UPGRADE);

SerializableBlob sb = (SerializableBlob)user.getPhoto();
java.sql.Blob wrapblob = sb.getWrappedBlob();
oracle.sql.BLOB blob = (oracle.sql.BLOB) wrapblob;
OutputStream output = blob.getBinaryOutputStream();
FileInputStream input=new FileInputStream("E:/PHOTO/baby/c0.jpg");
byte b []=new byte[80*1024];
input.read(b);

output.write(b);
input.close();
output.close();

SerializableClob sc=(SerializableClob)user.getResume();
java.sql.Clob wrapclob=sc.getWrappedClob();
oracle.sql.CLOB clob=(oracle.sql.CLOB)wrapclob;
java.io.Writer writer=clob.getCharacterOutputStream();
writer.write("This is the second clob");
session.save(user);
tx.commit();
}

}


 

发表于 @ 2007年03月15日 10:40:00 | 评论( loading... ) | 编辑| 举报| 收藏

旧一篇:Servlet中的Listener的应用 | 新一篇:lazy(延迟加载)

  • 发表评论
  • 评论内容:
  •  
Copyright © hql638
Powered by CSDN Blog