Entity注解
最后更新:2024-05-23 14:51:32
|
状态:未完成
anyline并没有依赖JAP,只是根据注解的名称及注解属性名称来解析注解,所以需要注解的需要自己添加相关依赖
可以解析的注解:
表名:table.name, table.value, tableName.name, tableName.value
列名:column.name,column.value,TableField.name,TableField.value,TableId.name,TableId.value,Id.name,Id.value
主键:TableId.name,TableId.value,Id.value,Id.name
是否参与insert:column.insertable
是否参与update:column.updatable
忽略参与持久化:Transient, OneToMany, ManyToMany
有transient修饰符的也不参考持久化
如果没有注解的按小驼峰转下划线
如果以上规则还不能满足的需要实现EntityAdapter接口,参考【EntityAdapter接口】
参考示例源码【anyline-simple-entity】例如:
可以解析的注解:
表名:table.name, table.value, tableName.name, tableName.value
列名:column.name,column.value,TableField.name,TableField.value,TableId.name,TableId.value,Id.name,Id.value
主键:TableId.name,TableId.value,Id.value,Id.name
是否参与insert:column.insertable
是否参与update:column.updatable
忽略参与持久化:Transient, OneToMany, ManyToMany
有transient修饰符的也不参考持久化
如果没有注解的按小驼峰转下划线
如果以上规则还不能满足的需要实现EntityAdapter接口,参考【EntityAdapter接口】
参考示例源码【anyline-simple-entity】例如:
@Table(name="HR_EMPLOYEE") public class Employee extends BaseEntity{ @GeneratedValue(generator = "disable") //不在java中生成主键 private Long id; @Column(name = "NAME", length = 10) private String nm; @Column(name = "CODE", length = 10) private String workCode; //对应date类型 private LocalDate birthday; //如果属性上没有注解会 会根据 ConfigTable.ENTITY_FIELD_COLUMN_MAP 转换; //默认"camel_"属性小驼峰转下划线 joinYmd > join_ymd private String joinYmd; //这一列在数据库中没有 @Transient private int age; }