bboss持久层bean属性和表字段相关注解使用说明

bboss持久层bean属性和表字段相关注解使用说明。
bboss持久层引入了三个注解:PrimaryKey、Column和IgnoreORMapping
本文介绍三个个注解的功能和使用方法。
1.Column注解属性和功能介绍
Column用来实现bean属性与表字段名称、字段类型映射功能
Column注解可以指定以下属性:
name 表字段名称
type 表字段类型
dataformat 数据日期类型格式
ignorebind 忽略对象属性insert,update,delete,select四种DB操作的对象属性与表字段的 o/r mapping绑定操作,相当于@IgnoreORMapping和@Column(ignoreCUDbind=true)组合使用
ignoreCUDbind 忽略对象属性insert,update,delete三种DB操作的对象属性与表字段的 o/r mapping绑定操作
editorparams 指定editor插件对应的参数值,可以自己任意组合参数串,由插件自行解析
editor 在o/r mapping操作时,自定义属性值和字段值的转换插件,分为column->field和field->column,column<->field三个方向的转换方法:
   
  • column->field 查询时表字段值向对象field属性值的单向转换
  • column<-field insert,update,delete时对象field属性值向表字段值的单向转换
  • column<->field select insert,update,delete时对象field属性值与表字段值的双向转换

column<->field双向转换时,editor插件必须实现com.frameworkset.util.ColumnEditorInf接口:
package com.frameworkset.util;

import org.frameworkset.util.annotations.wraper.ColumnWraper;

public interface ColumnEditorInf {
	 /**
     * 查询时,表字段值转换为对象属性值,Gets the property value.将值转换为属性对应类型的值
     * @param fromValue
     * @return The value of the property.  Primitive types such as "int" will
     * be wrapped as the corresponding object type such as "java.lang.Integer".
     */
    Object getValueFromObject(ColumnWraper columnWraper,Object fromValue) ;   
	 /**
     * 查询时,表字段值转换为对象属性值,Gets the property value.将值转换为属性对应类型的值
     * @param fromValue
     * @return The value of the property.  Primitive types such as "int" will
     * be wrapped as the corresponding object type such as "java.lang.Integer".
     */
    Object getValueFromString(ColumnWraper columnWraper,String fromValue);
    /**
     * insert,update,delete时值转换方法,对象属性值转换为表字段值
     * @param columnWraper
     * @param fromValue
     * @return
     */
    Object toColumnValue(ColumnWraper columnWraper,Object fromValue);
    /**
     * insert,update,delete时值转换方法,对象属性值转换为表字段值
     * @param columnWraper
     * @param fromValue
     * @return
     */
    Object toColumnValue(ColumnWraper columnWraper,String fromValue);
   
}


column<-field insert,update,delete时对象field属性值向表字段值的单向转换,editor插件只需继承抽象类com.frameworkset.util.FieldToColumnEditor,实现两个抽象方法即可:
@Override
	public abstract Object toColumnValue(ColumnWraper columnWraper, Object fromValue) ;

	@Override
	public abstract Object toColumnValue(ColumnWraper columnWraper, String fromValue) ;


column->field 查询时表字段值向对象field属性值的单向转换,editor插件只需继承抽象类com.frameworkset.util.ColumnToFieldEditor,实现两个抽象方法即可:
@Override
	public abstract Object getValueFromObject(ColumnWraper columnWraper, Object fromValue) ;

	@Override
	public abstract Object getValueFromString(ColumnWraper columnWraper, String fromValue) ;


2.@IgnoreORMapping注解功能介绍
IgnoreORMapping注解没有属性,忽略DB查询操作时对象属性与表字段的o/r mapping映射操作

3.PrimaryKey注解属性和功能介绍
PrimaryKey用来实现自动设置主键值和bean属性与表字段名称、字段类型映射功能
Column注解可以指定以下属性:
name 表字段名称
type 表字段类型


4.注解使用方法示例
PrimaryKey和Column的作用域都是bean的字段属性,使用方法非常简单:
public class ParentListBean
{
	@PrimaryKey
	private String id ;
 。。。。。。
}


public class ParentListBean
{
	        	@Column(type="blob")//指示属性的值按blob类型写入或者读取
		private String blobname;
		@Column(type="clob")//指示属性的值按clob类型写入或者读取
		private String clobname; 

        @Column(name="name_")//指示属性名称与表字段名称映射关系,name属性对应于表中的name_字段
		private String name; 
        @Column(dataformat="yyyy-mm-dd")//指示日期类型属性值的存储和读取转换日期格式
		private String regdate; 
@IgnoreORMapping //忽略DB查询操作时对象属性与表字段的o/r mapping映射操作,只正对增删,改三种操作进行绑定
private String aa; 

@Column(ignorebind=true)// 忽略insert,update,delete,select四种DB操作对象属性与表字段的 o/r mapping绑定操作,相当于@IgnoreORMapping和@Column(ignoreCUDbind=true)组合使用

private String bb; 

@Column(ignoreCUDbind =true)// 忽略对象属性insert,update,delete三种DB操作的对象属性与表字段的 o/r mapping绑定操作,只针对查询操作进行绑定

private String cc; 


@Column(editorparams="yyyy-MM-dd HH:mm:ss",
			editor="com.frameworkset.platform.util.DateformatEditor",
			ignoreCUDbind=true)//指定查询时表字段值与对象属性值的转换插件,同时忽略对象属性insert,update,delete三种DB操作的对象属性与表字段的 o/r mapping绑定操作,通过editordataformat属性指定了插件需要的日期格式
private String dd; 

@Column(editordataformat="yyyy-MM-dd HH:mm:ss",
			editor="com.frameworkset.platform.util.CommonDateformatEditor",
			)//指定insert,update,delete,select四种DB操作对象属性与表字段的 o/r mapping绑定转换插件,通过editordataformat属性指定了插件需要的日期格式
private String ee; 

}



5.相关内容
关于bboss persistent主键生成机制的说明,请参考文档:
http://yin-bp.iteye.com/blog/407254

bboss声明式事务和注解事务参考以下文档的第82-86页:
bbossgroups 框架培训教程.ppt
上一篇:关于事务码SEGW里节点字段的属性说明


下一篇:只需一步,DLA开启TableStore多元索引查询加速!