尚学堂OA碰到 不知道怎么注解如何Map和List集合 希望高手解答

希望用Annotation注解来做

 

问题1

首先是List集合的

原来的   FormField类:

 

/**

 * 表单域

 *@hibernate.class table="T_FormField"

 */

public class FormField {

        

         /**

          * @hibernate.id

          *             generator-class="native"

          */

         privateint id;

        

         /**

          * 表单域标签

          * @hibernate.property

          */

         privateString fieldLabel;

        

         /**

          * 表单域的名称

          * @hibernate.property

          */

         privateString fieldName;

        

         /**

          * 表单域的输入形式

          * @hibernate.many-to-one

          */

         privateFieldInput fieldInput;

        

         /**

          * 表单域的类型

          * @hibernate.many-to-one

          */

         privateFieldType fieldType;

        

         /**

          * 额外参数,条目

          * 比如:如果是下拉框,都有哪些值可供选择

          * @hibernate.listtable="T_FieldItem"

          * @hibernate.key column="fieldId"

          * @hibernate.list-indexcolumn="itemIndex"

          * @hibernate.composite-elementclass="com.bjsxt.oa.model.FieldItem"

          */

         privateList items;

       …………………………省略

 

 

FieldItem类:

这个类是没有被@entity的

public class FieldItem {

        

         /**

          * 文本

          * @hibernate.property

          */

         privateString label;

        

         /**

          * 值

          * @hibernate.property

          */

         privateString value;

       ……………………………省略

 

而现在的目的是用hibernate annotation来实现这个表的创建

————————————————————————————————————————

问题2:

Map集合:

Document类:

/**

 * 公文

 *@author Administrator

 *@hibernate.class table="T_Document"

 */

public class Document {

        

         publicfinal static String STATUS_NEW = "新建";

         publicfinal static String STATUS_END = "完成";

        

         /**

          * @hibernate.id

          *             generator-class="native"

          */

         privateint id;

        

         /**

          * 标题

          * @hibernate.property

          */

         privateString title;

        

         /**

          * 描述

          * @hibernate.property

          */

         privateString description;

        

         /**

          * 公文内容,即上传文件的内容,

          * 这些上传文件的内容将会被保存到数据库

          * @hibernate.property

          *             type="binary"

          *             length="99999999"

          */

         privatebyte[] content;

        

         /**

          * 创建者

          * @hibernate.many-to-one

          */

         privateUser creator;

        

         /**

          * 创建时间

          * @hibernate.property

          */

         privateDate createTime;

        

         /**

          * 公文所走的流程

          * @hibernate.many-to-one

          */

         privateWorkflow workflow;

        

         /**

          * 流程实例的标识

          * @hibernate.property

          */

         privatelong processInstanceId;

        

         /**

          * 公文的当前状态信息:

          * 只有新建状态的公文,才可以被更新和删除

          * 只有已完成状态的公文,才可以被归档

          * @hibernate.property

          */

         privateString status;

        

         /**

          * 表单的动态属性,key:String ,value: DocumentProperty

          * @hibernate.maptable="T_Document_Properties"

          * @hibernate.key column="documentId"

          * @hibernate.map-key type="string"column="propertyName"

          * @hibernate.composite-elementclass="com.bjsxt.oa.model.DocumentProperty"

          */

         privateMap props;

         ……………………省略

 

DocumentProperty类:

同样这个类是没有被@entity的

 

public class DocumentProperty {

 

         /**

          * @hibernate.property

          */

         privateString java_lang_String;

 

         /**

          * @hibernate.property

          */

         privateInteger java_lang_Integer;

 

         /**

          * @hibernate.property type="binary"length="99999999"

          */

         privatebyte[] java_io_File;

     ……………………………………………………省略

犹豫困扰很久了。希望高手能解答一下。感激不尽。。。。。。。。。。。。。。。。。。。。。。。。

这两个集合都用Annotation注解来实现,。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值