Hibernate Blob 操作问题!

03-08-25 ax3536
数据库是ORACLE8.15,现在现象是好像一切都正常,日志也正常,可是数据库中始终没有数据,大大帮帮忙阿!

对应的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();

}

}

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 2.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">

<hibernate-mapping>

<class name="com.sunix.Blobtest" schema="LIUXU" table="BLOBTEST">

<id column="BID" name="bid" type="string">

<generator class="uuid.string"/>

</id>

<property column="BCONTENT" name="bcontent" type="blob"/>

</class>

</hibernate-mapping>

管理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 <clinit>

信息: using java.io streams to persist binary types

2003-8-25 15:51:44 net.sf.hibernate.cfg.Environment <clinit>

信息: using CGLIB reflection optimizer

2003-8-25 15:51:44 net.sf.hibernate.cfg.Environment <clinit>

信息: 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 <init>

信息: building session factory

2003-8-25 15:51:46 net.sf.hibernate.dialect.Dialect <init>

信息: 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 <init>

信息: 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 (?, ?)

ax3536
2003-08-25 15:56
为什么看不到XML?再贴:

<class name="com.sunix.Blobtest" schema="LIUXU" table="BLOBTEST">

<id column="BID" name="bid" type="string">

<generator class="uuid.string"/>

</id>

<property column="BCONTENT" name="bcontent" type="blob"/>

</class>

ax3536
2003-08-25 15:56
为什么看不到XML?再贴:

<class name="com.sunix.Blobtest" schema="ll" table="BLOBTEST">

<id column="BID" name="bid" type="string">

<generator class="uuid.string"/>

</id>

<property column="BCONTENT" name="bcontent" type="blob"/>

</class>

ax3536
2003-08-25 15:58
<property column="BCONTENT" name="bcontent" type="blob"/>

其他不管了,这个是关键部分,看看能显示不?

ax3536
2003-08-25 15:59
我555~什么论坛阿,又不能编辑,又不能删除,XML贴上来怎么也看不到

猜你喜欢
2Go 1 2 下一页