`

Hibernate+Spring映射Blob字段

阅读更多
1.SheetFile.java
package com.iman.nrms.nrmcs.common.domain.model.sheet;

import java.io.Serializable;

/**
 * @hibernate.meta attribute="class-description" value="上传文件表"
 * @hibernate.class table="NRMCS_SHEET_FILE"
 * @hibernate.mapping default-lazy="false"
 */
public class SheetFile implements Serializable {
	
	private static final long serialVersionUID = -3496721369104496832L;

	private String id;			// 主键
	
	private String baseSheetId;	// 工单ID
	
	private String realName;	// 原来文件名称
	
	private String fileName;	// 文件名称
	
	private String sheetType;	// 工单类型
	
	private String stepName;	// 步骤名称
	
	private Long userId;		// 上传人ID
	
	private String userName;	// 上传人名称
	
	private String virtual;		// 虚拟文件, 即不存在文件实体, true(虚拟文件)/false(实体文件)
	
	private String type;		// 类型

	private String remark;		// 备注
	
	private byte[] fileData;	//文件数据
	
	
    /**  
     * @hibernate.property column="FILEDATA" type="org.springframework.orm.hibernate3.support.BlobByteArrayType" not-null="false" lazy="true" 
     * @hibernate.meta attribute="field-description" value="文件数据"  
     */  
	public byte[] getFileData() {
		return fileData;
	}

	public void setFileData(byte[] fileData) {
		this.fileData = fileData;
	}

	
	/**
	 * @hibernate.id generator-class="native" column="ID"
	 * @hibernate.meta attribute="field-description" value="主键"
	 * @hibernate.generator-param name="sequence" value="SEQ_NRMBS"
	 */
	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	/**
	 * @hibernate.property not-null="true" length="200" column="BASESHEETID"
	 * @hibernate.meta attribute="field-description" value="工单ID"
	 */
	public String getBaseSheetId() {
		return baseSheetId;
	}

	public void setBaseSheetId(String baseSheetId) {
		this.baseSheetId = baseSheetId;
	}

	/**
	 * @hibernate.property not-null="false" length="500" column="REALNAME"
	 * @hibernate.meta attribute="field-description" value="原来文件名称"
	 */
	public String getRealName() {
		return realName;
	}

	public void setRealName(String realName) {
		this.realName = realName;
	}

	/**
	 * @hibernate.property not-null="false" length="500" column="FILENAME"
	 * @hibernate.meta attribute="field-description" value="文件名称"
	 */
	public String getFileName() {
		return fileName;
	}

	public void setFileName(String fileName) {
		this.fileName = fileName;
	}

	/**
	 * @hibernate.property not-null="false" length="200" column="SHEETTYPE"
	 * @hibernate.meta attribute="field-description" value="工单类型"
	 */
	public String getSheetType() {
		return sheetType;
	}

	public void setSheetType(String sheetType) {
		this.sheetType = sheetType;
	}

	/**
	 * @hibernate.property not-null="false" length="19" column="USERID"
	 * @hibernate.meta attribute="field-description" value="上传人ID"
	 */
	public Long getUserId() {
		return userId;
	}

	public void setUserId(Long userId) {
		this.userId = userId;
	}

	/**
	 * @hibernate.property not-null="false" length="200" column="STEPNAME"
	 * @hibernate.meta attribute="field-description" value="步骤名称"
	 */
	public String getStepName() {
		return stepName;
	}

	public void setStepName(String stepName) {
		this.stepName = stepName;
	}

	/**
	 * @hibernate.property not-null="false" length="20" column="USERNAME"
	 * @hibernate.meta attribute="field-description" value="上传人名称"
	 */
	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	/**
	 * @hibernate.property not-null="false" length="40" column="VIRTUAL"
	 * @hibernate.meta attribute="field-description" value="虚拟文件"
	 */
	public String getVirtual() {
		return virtual;
	}

	public void setVirtual(String virtual) {
		this.virtual = virtual;
	}

	/**
	 * @hibernate.property not-null="false" length="200" column="TYPE"
	 * @hibernate.meta attribute="field-description" value="类型"
	 */
	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}

	/**
	 * @hibernate.property not-null="false" length="500" column="REMARK"
	 * @hibernate.meta attribute="field-description" value="备注"
	 */
	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}



	
}



2.SheetFile.hbm.xml
<?xml version="1.0" encoding="GBK"?>

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

<hibernate-mapping
        default-lazy="false"
>
    <class
        name="com.iman.nrms.nrmcs.common.domain.model.sheet.SheetFile"
        table="NRMCS_SHEET_FILE"
    >
        <meta attribute="class-description">上传文件表</meta>

        <id
            name="id"
            column="ID"
            type="java.lang.String"
        >
            <meta attribute="field-description">主键</meta>
            <generator class="native">
                <param name="sequence">SEQ_NRMBS</param>
              <!--  
                  To add non XDoclet generator parameters, create a file named 
                  hibernate-generator-params-SheetFile.xml 
                  containing the additional parameters and place it in your merge dir. 
              --> 
            </generator>
        </id>

        <property
            name="fileData"
            type="org.springframework.orm.hibernate3.support.BlobByteArrayType"
            update="true"
            insert="true"
            column="FILEDATA"
            not-null="false"
        >
            <meta attribute="field-description">文件数据</meta>
        </property>

        <property
            name="baseSheetId"
            type="java.lang.String"
            update="true"
            insert="true"
            column="BASESHEETID"
            length="200"
            not-null="true"
        >
            <meta attribute="field-description">工单ID</meta>
        </property>

        <property
            name="realName"
            type="java.lang.String"
            update="true"
            insert="true"
            column="REALNAME"
            length="500"
            not-null="false"
        >
            <meta attribute="field-description">原来文件名称</meta>
        </property>

        <property
            name="fileName"
            type="java.lang.String"
            update="true"
            insert="true"
            column="FILENAME"
            length="500"
            not-null="false"
        >
            <meta attribute="field-description">文件名称</meta>
        </property>

        <property
            name="sheetType"
            type="java.lang.String"
            update="true"
            insert="true"
            column="SHEETTYPE"
            length="200"
            not-null="false"
        >
            <meta attribute="field-description">工单类型</meta>
        </property>

        <property
            name="userId"
            type="java.lang.Long"
            update="true"
            insert="true"
            column="USERID"
            length="19"
            not-null="false"
        >
            <meta attribute="field-description">上传人ID</meta>
        </property>

        <property
            name="stepName"
            type="java.lang.String"
            update="true"
            insert="true"
            column="STEPNAME"
            length="200"
            not-null="false"
        >
            <meta attribute="field-description">步骤名称</meta>
        </property>

        <property
            name="userName"
            type="java.lang.String"
            update="true"
            insert="true"
            column="USERNAME"
            length="20"
            not-null="false"
        >
            <meta attribute="field-description">上传人名称</meta>
        </property>

        <property
            name="virtual"
            type="java.lang.String"
            update="true"
            insert="true"
            column="VIRTUAL"
            length="40"
            not-null="false"
        >
            <meta attribute="field-description">虚拟文件</meta>
        </property>

        <property
            name="type"
            type="java.lang.String"
            update="true"
            insert="true"
            column="TYPE"
            length="200"
            not-null="false"
        >
            <meta attribute="field-description">类型</meta>
        </property>

        <property
            name="remark"
            type="java.lang.String"
            update="true"
            insert="true"
            column="REMARK"
            length="500"
            not-null="false"
        >
            <meta attribute="field-description">备注</meta>
        </property>

        <!--
            To add non XDoclet property mappings, create a file named
                hibernate-properties-SheetFile.xml
            containing the additional properties and place it in your merge dir.
        -->

    </class>

</hibernate-mapping>

分享到:
评论

相关推荐

    struts2.1 + hibernate3.2 + spring 2.5 实现blob数据上传、下载

    - Hibernate的配置文件(hibernate.cfg.xml)中,需要指定数据源、映射文件和实体类等信息,确保能够正确连接到数据库并映射Blob字段。 - Spring的配置文件(如applicationContext.xml)中,定义DataSource、...

    spring+hibernate 解决大字段(clob)

    在Hibernate的`SessionFactory`配置中,需要指定`lobHandler` Bean来处理CLOB和BLOB字段: ```xml &lt;bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"&gt; ...

    oracle+hibernate 处理blob +uploadify实例

    `Learner`类包含学员的基本信息,如`learnerId`和`learnerName`,并且有一个`byte[] photo`字段用于存储学员的照片,这是Blob类型的数据。 ```java public class LearnerInfo implements java.io.Serializable { ...

    spring mvc+hibernate 图片存储至blob

    总结起来,"spring mvc+hibernate 图片存储至blob"这个主题涉及到Spring MVC处理文件上传、Hibernate将图片数据存入数据库BLOB字段、以及前后端交互等多个技术点。通过理解这些知识点,开发者可以构建一个完整的图片...

    SSH框架 Struts+Spring+Hibernate+Ajax+功能齐全(验证码+二进制文件图片读写数据库)的网站.zip

    5. **图片处理**:项目涉及了二进制文件图片的读写操作,这通常涉及到BLOB类型字段的使用。在Hibernate中,可以通过配置实体类和映射文件来处理二进制数据。同时,Web应用程序可能包含JavaScript或Java代码来上传、...

    Spring+Hibernate处理Oracle lob字段(一)

    例如,当保存BLOB字段时,可以先将文件内容读入`InputStream`,然后通过Hibernate的`Session`接口进行持久化: ```java InputStream inputStream = new FileInputStream("path/to/file"); session.saveOrUpdate...

    Struts+Spring+Hibernate开发实例祥解

    在Hibernate映射文件中,Blob字段的type设置为org.springframework.orm.hibernate3.support.BlobByteArrayType,以使用Spring提供的自定义类型。 **Hibernate框架**负责数据的持久化。在SSH架构中,Hibernate用于将...

    Struts+Spring+Hibernate实现上传下载

    在映射文件中,Blob字段的type设置为`org.springframework.orm.hibernate3.support.BlobByteArrayType`,这是Spring提供的自定义类型,便于处理数据库中的Blob字段。Spring使用`OracleLobHandler`处理Oracle数据库中...

    spring+hibernate操作oracle的clob字段

    Spring和Hibernate框架结合使用可以有效地进行CLOB字段的操作。以下是实现这一功能的关键步骤和注意事项: 1. **配置SessionFactory** 在Spring配置文件中,你需要创建一个`SessionFactory` bean,同时指定一个`...

    spring1.2+hibernate3对大字段的处理实例,供大家学习与交流,可直接运行

    这个压缩包文件"spring1.2+hibernate3对大字段的处理实例"提供了一个具体的案例,演示了如何在Spring 1.2和Hibernate 3框架下解决这个问题。下面我们将深入探讨这些知识点。 首先,Spring 1.2是一个轻量级的Java...

    Hibernate对Blob,Clob的操作

    首先,我们需要在Hibernate映射文件(.hbm.xml)中定义Blob和Clob字段。对于Blob,可以这样声明: ```xml &lt;property name="binaryData" type="blob"&gt; ``` 这里的`name`属性对应Java实体类中的属性名,`type=...

    spring1.2+hibernate2对大字段的处理实例

    Hibernate2支持将Java的`java.sql.Blob`和`java.sql.Clob`对象映射到数据库的Blob和Clob字段,这样可以存储大数据而不影响其他字段。 2. **文件系统存储**:大字段数据可以存储在文件系统中,然后在数据库中仅存储...

    spring+struts+hibernate实现文件的上传和下载

    数据表的 Blob 字段在 Java 对象中声明为 `byte[]` 类型,而在 Hibernate 映射文件中使用 `BlobByteArrayType` 类型。 **文件上传** Struts 通过将 HTML 表单中的 `file` 输入类型映射到 `ActionForm` 中的 `...

    hibernate使用中与各种数据库字段类型对应类型训练

    本训练主要关注在使用Hibernate时如何处理与各种数据库字段类型的映射,这对于理解和优化数据库交互至关重要。 首先,我们要理解Hibernate的核心概念——对象关系映射(ORM)。ORM允许我们将数据库表结构映射到Java...

    Struts Spring Hibernate实现上传下载

    在Hibernate映射文件中,`fileContent`字段的类型设置为`org.springframework.orm.hibernate3.support.BlobByteArrayType`,这是Spring提供的用户自定义类型,用于处理Blob字段。这样,我们就可以直接操作`byte[]`,...

    ssh(structs,spring,hibernate)框架中的上传下载

    数据表Blob字段在Hibernate持久化映射文件中的type为org.springframework.orm.hibernate3.support.BlobByteArrayType,即Spring所提供的用户自定义的类型,而非java.sql.Blob。 3在Spring中使用org.springframework...

    FLEX上传下载的FLEX项目源码.docx

    2. 在Hibernate映射文件中,Blob字段的type指定为org.springframework.orm.hibernate3.support.BlobByteArrayType,这是Spring提供的自定义类型。 3. 使用OracleLobHandler处理Oracle数据库的Blob字段,简化了操作并...

Global site tag (gtag.js) - Google Analytics