一:Hibernate3.X实现基于CLOB字段类型的注解方式的例子:下面直接上代码:
二:UserInfo.java
package cn.gov.csrc.cms.model; import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Lob; import javax.persistence.SequenceGenerator; import javax.persistence.Table; import oracle.sql.CLOB; /** * File: UserInfo.java * Author: admin * Version: 1.0 * Date: 2014/08/13 * Modify: * Description: 系统用户表 * Copyright: sinodata */ @Entity @Table(name = "tb_cms_user") public class UserInfo { private Integer userId;// ID private String userName;// 登录名 private String passWd;// 登录密码 private String realName;// 用户姓名 private String phone;// 电话 private String dept;// 部门 private String post;// 岗位 private CLOB fieldNames;// 存放xml文本文件的字段 @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_STORE") @SequenceGenerator(name = "SEQ_STORE", sequenceName = "USER_SEQ", allocationSize = 1) public Integer getUserId() { return userId; } public void setUserId(Integer userId) { this.userId = userId; } @Column(name = "USERNAME", nullable = false, length = 30) public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } @Column(name = "PASSWD", nullable = false, length = 100) public String getPassWd() { return passWd; } public void setPassWd(String passWd) { this.passWd = passWd; } @Column(name = "REALNAME", length = 10) public String getRealName() { return realName; } public void setRealName(String realName) { this.realName = realName; } @Column(name = "PHONE", length = 15) public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } @Column(name = "DEPT", length = 10) public String getDept() { return dept; } public void setDept(String dept) { this.dept = dept; } @Column(name = "POST", length = 10) public String getPost() { return post; } public void setPost(String post) { this.post = post; } @Lob @Basic(fetch = FetchType.EAGER) @Column(name="FIELDNAMES", columnDefinition="CLOB", nullable=true) public CLOB getFieldNames() { return fieldNames; } public void setFieldNames(CLOB fieldNames) { this.fieldNames = fieldNames; } }
/* Formatted on 2014/8/19 15:45:29 (QP5 v5.115.810.9015) */ INSERT INTO TB_CMS_USER ( USERID, DEPT, PASSWD, PHONE, POST, REALNAME, USERNAME, FIELDNAMES ) VALUES ( 1, '开发支持部', '123456789', '18611966723', 'Java工程师', '工程师', 'zhaoxinguo', '<?xml version="1.0" encoding="UTF-8"?> <ASUPDATA> <MSG> <META> <SNDR>DC</SNDR> <DTTM>20140714001122</DTTM> <TYPE>FLOP</TYPE> <STYP>FGIS</STYP> </META> <FLOP> <FFID>CZ-CZ3726-D-14JUL142220-D</FFID> <CHDT>29</CHDT> </FLOP></MSG> </ASUPDATA>' );