C#里的Attributes对应java的注解。作用类似标签,可以供程序反射使用。可以借助特性给实体标准长度限制,外键参照等信息,从儿基于此基础实现通用码表。
定义方式和interface类似
外键参照特性
//特性,为通用码表提供支持
package LIS.Core.CustomAttributes;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
//外键参照特性
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface FrekeyAttribute {
//参照表实体名称
public String Name() default "";
// 参照表实体属性名称
public String RefColumnName() default "";
//关联字段,查询时候根据外键从父表拉取的字段名称
public String AssociaField() default "";
//关联字段,查询时候根据外键从父表拉取的字段名称
public String AssociaField1() default "";
//关联字段,查询时候根据外键从父表拉取的字段名称
public String AssociaField2() default "";
}
然后给生成的实体加上特性来代表表信息
再基于实体和特性实现一个ORM,ORM按实体和数据库驱动实现对象组装SQL执行
下一步把ORM的接口约定弄出来,一个个接口方法实现就能得到一个定制的ORM,给上层通用码表使用了
所有工程的编译和引用都指向Lib