public IOrmMeta
orm的元数据 模型映射表的映射元数据,如模型类/数据库/表名
| 限定符和类型 | 接口和说明 |
|---|---|
static class |
IOrmMeta.DefaultImpls
orm的元数据
模型映射表的映射元数据,如模型类/数据库/表名
|
| 限定符和类型 | 方法和说明 |
|---|---|
OrmMeta |
addRule(java.lang.String field,
java.lang.String label,
java.lang.String rule,
NonExistentClass otherRule)
添加规则
|
OrmMeta |
addRule(java.lang.String field,
net.jkcode.jkmvc.validator.IValidator rule)
添加规则
|
int[] |
batchDelete(java.lang.Object pks)
批量删除
|
int[] |
batchDelete(NonExistentClass pks)
批量删除
|
int[] |
batchInsert(java.util.List<? extends net.jkcode.jkmvc.orm.IOrmEntity> items)
批量插入
一般用于批量插入 OrmEntity 对象, 而不是 Orm 对象, 因此也不会触发 Orm 中的前置后置事件
|
int[] |
batchUpdate(java.util.List<? extends net.jkcode.jkmvc.orm.IOrmEntity> items)
批量更新
一般用于批量更新 OrmEntity 对象, 而不是 Orm 对象, 因此也不会触发 Orm 中的前置后置事件
|
IOrmMeta |
belongsTo(java.lang.String name,
kotlin.reflect.KClass<? extends net.jkcode.jkmvc.orm.IOrm> relatedModel,
NonExistentClass foreignKey,
NonExistentClass primaryKey,
java.util.Map<java.lang.String,? extends java.lang.Object> conditions)
生成属性代理 + 设置关联关系(belongs to)
|
IOrmMeta |
belongsTo(java.lang.String name,
kotlin.reflect.KClass<? extends net.jkcode.jkmvc.orm.IOrm> relatedModel,
NonExistentClass foreignKey,
java.util.Map<java.lang.String,? extends java.lang.Object> conditions)
生成属性代理 + 设置关联关系(belongs to)
|
IOrmMeta |
belongsTo(java.lang.String name,
kotlin.reflect.KClass<? extends net.jkcode.jkmvc.orm.IOrm> relatedModel,
java.lang.String foreignKey,
java.lang.String primaryKey,
java.util.Map<java.lang.String,? extends java.lang.Object> conditions)
生成属性代理 + 设置关联关系(belongs to)
|
IOrmMeta |
belongsTo(java.lang.String name,
kotlin.reflect.KClass<? extends net.jkcode.jkmvc.orm.IOrm> relatedModel,
java.lang.String foreignKey,
java.util.Map<java.lang.String,? extends java.lang.Object> conditions)
生成属性代理 + 设置关联关系(belongs to)
|
boolean |
canHandleAnyEvent(java.lang.String events)
能否处理任一事件
|
java.lang.String |
column2Prop(java.lang.String column)
根据db字段名,获得对象属性名 -- 单个字段
|
java.lang.Object |
convertIntelligent(java.lang.String column,
java.lang.String value)
智能转换字段值
在不知字段类型的情况下,将string赋值给属性
=> 需要将string转换为属性类型
=> 需要显式声明属性
|
boolean |
delete(java.lang.Object pk)
单个删除
|
java.util.List<java.lang.String> |
getColumns()
表字段
|
net.jkcode.jkmvc.common.FixedKeyMapFactory |
getDataFactory()
数据的工厂
|
IDb |
getDb()
数据库
|
java.lang.String |
getDbName()
数据库名
|
java.util.List<java.lang.String> |
getDefaultExpectedProps()
默认要设置的字段名
|
NonExistentClass |
getDefaultForeignKey()
默认外键
|
java.lang.String |
getLabel()
模型中文名
|
kotlin.reflect.KClass<? extends net.jkcode.jkmvc.orm.IOrm> |
getModel()
模型类
|
java.lang.String |
getName()
模型名
|
NonExistentClass |
getPrimaryKey()
主键
|
NonExistentClass |
getPrimaryProp()
主键属性
|
java.util.List<java.lang.String> |
getProcessableEvents()
能处理的事件
|
java.util.List<java.lang.String> |
getProps()
对象属性
|
IRelationMeta |
getRelation(java.lang.String name)
获得某个关联关系
|
java.util.Map<java.lang.String,net.jkcode.jkmvc.orm.IRelationMeta> |
getRelations()
关联关系
|
java.util.Map<java.lang.String,net.jkcode.jkmvc.validator.IValidator> |
getRules()
每个字段的规则
|
java.util.List<java.lang.String> |
getSerializingProps()
要序列化的对象属性
写时序列化, 读时反序列化
|
java.lang.String |
getTable()
表名
|
IOrmMeta |
hasMany(java.lang.String name,
kotlin.reflect.KClass<? extends net.jkcode.jkmvc.orm.IOrm> relatedModel,
NonExistentClass foreignKey,
NonExistentClass primaryKey,
java.util.Map<java.lang.String,? extends java.lang.Object> conditions)
设置关联关系(has many)
|
IOrmMeta |
hasMany(java.lang.String name,
kotlin.reflect.KClass<? extends net.jkcode.jkmvc.orm.IOrm> relatedModel,
NonExistentClass foreignKey,
java.util.Map<java.lang.String,? extends java.lang.Object> conditions)
设置关联关系(has many)
|
IOrmMeta |
hasMany(java.lang.String name,
kotlin.reflect.KClass<? extends net.jkcode.jkmvc.orm.IOrm> relatedModel,
java.lang.String foreignKey,
java.lang.String primaryKey,
java.util.Map<java.lang.String,? extends java.lang.Object> conditions)
设置关联关系(has many)
|
IOrmMeta |
hasMany(java.lang.String name,
kotlin.reflect.KClass<? extends net.jkcode.jkmvc.orm.IOrm> relatedModel,
java.lang.String foreignKey,
java.util.Map<java.lang.String,? extends java.lang.Object> conditions)
设置关联关系(has many)
|
IOrmMeta |
hasManyThrough(java.lang.String name,
kotlin.reflect.KClass<? extends net.jkcode.jkmvc.orm.IOrm> relatedModel,
NonExistentClass foreignKey,
NonExistentClass primaryKey,
java.lang.String middleTable,
NonExistentClass farForeignKey,
NonExistentClass farPrimaryKey,
java.util.Map<java.lang.String,? extends java.lang.Object> conditions)
设置关联关系(has many)
|
IOrmMeta |
hasManyThrough(java.lang.String name,
kotlin.reflect.KClass<? extends net.jkcode.jkmvc.orm.IOrm> relatedModel,
java.lang.String foreignKey,
java.lang.String primaryKey,
java.lang.String middleTable,
java.lang.String farForeignKey,
java.lang.String farPrimaryKey,
java.util.Map<java.lang.String,? extends java.lang.Object> conditions)
设置关联关系(has many)
|
IOrmMeta |
hasOne(java.lang.String name,
kotlin.reflect.KClass<? extends net.jkcode.jkmvc.orm.IOrm> relatedModel,
NonExistentClass foreignKey,
NonExistentClass primaryKey,
java.util.Map<java.lang.String,? extends java.lang.Object> conditions)
设置关联关系(has one)
|
IOrmMeta |
hasOne(java.lang.String name,
kotlin.reflect.KClass<? extends net.jkcode.jkmvc.orm.IOrm> relatedModel,
NonExistentClass foreignKey,
java.util.Map<java.lang.String,? extends java.lang.Object> conditions)
设置关联关系(has one)
|
IOrmMeta |
hasOne(java.lang.String name,
kotlin.reflect.KClass<? extends net.jkcode.jkmvc.orm.IOrm> relatedModel,
java.lang.String foreignKey,
java.lang.String primaryKey,
java.util.Map<java.lang.String,? extends java.lang.Object> conditions)
设置关联关系(has one)
|
IOrmMeta |
hasOne(java.lang.String name,
kotlin.reflect.KClass<? extends net.jkcode.jkmvc.orm.IOrm> relatedModel,
java.lang.String foreignKey,
java.util.Map<java.lang.String,? extends java.lang.Object> conditions)
设置关联关系(has one)
|
IOrmMeta |
hasOneThrough(java.lang.String name,
kotlin.reflect.KClass<? extends net.jkcode.jkmvc.orm.IOrm> relatedModel,
NonExistentClass foreignKey,
NonExistentClass primaryKey,
java.lang.String middleTable,
NonExistentClass farForeignKey,
NonExistentClass farPrimaryKey,
java.util.Map<java.lang.String,? extends java.lang.Object> conditions)
设置关联关系(has one)
|
IOrmMeta |
hasOneThrough(java.lang.String name,
kotlin.reflect.KClass<? extends net.jkcode.jkmvc.orm.IOrm> relatedModel,
java.lang.String foreignKey,
java.lang.String primaryKey,
java.lang.String middleTable,
java.lang.String farForeignKey,
java.lang.String farPrimaryKey,
java.util.Map<java.lang.String,? extends java.lang.Object> conditions)
设置关联关系(has one)
|
boolean |
hasRelation(java.lang.String name)
是否有某个关联关系
|
IRelationMeta |
joinRelated(OrmQueryBuilder query,
java.lang.String name,
boolean select,
SelectColumnList columns,
java.lang.String lastName,
java.lang.String path)
联查关联表
|
java.lang.String |
prop2Column(java.lang.String prop)
根据对象属性名,获得db字段名 -- 单个字段
可根据实际需要在 model 类中重写
|
OrmQueryBuilder |
queryBuilder(boolean convertingValue,
boolean convertingColumn,
boolean withSelect)
获得orm查询构建器
|
void |
setTable(java.lang.String p)
表名
|
<T> T |
transactionWhenHandlingEvent(java.lang.String events,
kotlin.jvm.functions.Function0<? extends T> statement)
如果有要处理的事件,则开启事务
|
boolean |
validate(IOrmEntity item)
校验orm对象数据
|
kotlin.reflect.KClass<? extends net.jkcode.jkmvc.orm.IOrm> getModel()
模型类
java.lang.String getName()
模型名
java.lang.String getLabel()
模型中文名
java.lang.String getDbName()
数据库名
java.lang.String getTable()
表名
void setTable(java.lang.String p)
表名
NonExistentClass getPrimaryKey()
主键
NonExistentClass getPrimaryProp()
主键属性
NonExistentClass getDefaultForeignKey()
默认外键
java.util.Map<java.lang.String,net.jkcode.jkmvc.orm.IRelationMeta> getRelations()
关联关系
java.util.Map<java.lang.String,net.jkcode.jkmvc.validator.IValidator> getRules()
每个字段的规则
IDb getDb()
数据库
java.util.List<java.lang.String> getColumns()
表字段
java.util.List<java.lang.String> getProps()
对象属性
java.util.List<java.lang.String> getSerializingProps()
要序列化的对象属性 写时序列化, 读时反序列化
java.util.List<java.lang.String> getDefaultExpectedProps()
默认要设置的字段名
net.jkcode.jkmvc.common.FixedKeyMapFactory getDataFactory()
数据的工厂
java.lang.String prop2Column(java.lang.String prop)
根据对象属性名,获得db字段名 -- 单个字段 可根据实际需要在 model 类中重写
java.lang.String column2Prop(java.lang.String column)
根据db字段名,获得对象属性名 -- 单个字段
java.lang.Object convertIntelligent(java.lang.String column,
java.lang.String value)
智能转换字段值 在不知字段类型的情况下,将string赋值给属性 => 需要将string转换为属性类型 => 需要显式声明属性
boolean validate(IOrmEntity item)
校验orm对象数据
OrmMeta addRule(java.lang.String field, java.lang.String label, java.lang.String rule, NonExistentClass otherRule)
添加规则
OrmMeta addRule(java.lang.String field, net.jkcode.jkmvc.validator.IValidator rule)
添加规则
OrmQueryBuilder queryBuilder(boolean convertingValue, boolean convertingColumn, boolean withSelect)
获得orm查询构建器
int[] batchInsert(java.util.List<? extends net.jkcode.jkmvc.orm.IOrmEntity> items)
批量插入 一般用于批量插入 OrmEntity 对象, 而不是 Orm 对象, 因此也不会触发 Orm 中的前置后置事件
int[] batchUpdate(java.util.List<? extends net.jkcode.jkmvc.orm.IOrmEntity> items)
批量更新 一般用于批量更新 OrmEntity 对象, 而不是 Orm 对象, 因此也不会触发 Orm 中的前置后置事件
boolean delete(java.lang.Object pk)
单个删除
int[] batchDelete(java.lang.Object pks)
批量删除
int[] batchDelete(NonExistentClass pks)
批量删除
IRelationMeta joinRelated(OrmQueryBuilder query, java.lang.String name, boolean select, SelectColumnList columns, java.lang.String lastName, java.lang.String path)
联查关联表
java.util.List<java.lang.String> getProcessableEvents()
能处理的事件
boolean canHandleAnyEvent(java.lang.String events)
能否处理任一事件
<T> T transactionWhenHandlingEvent(java.lang.String events,
kotlin.jvm.functions.Function0<? extends T> statement)
如果有要处理的事件,则开启事务
boolean hasRelation(java.lang.String name)
是否有某个关联关系
IRelationMeta getRelation(java.lang.String name)
获得某个关联关系
IOrmMeta belongsTo(java.lang.String name, kotlin.reflect.KClass<? extends net.jkcode.jkmvc.orm.IOrm> relatedModel, NonExistentClass foreignKey, NonExistentClass primaryKey, java.util.Map<java.lang.String,? extends java.lang.Object> conditions)
生成属性代理 + 设置关联关系(belongs to)
公式:从表.外键 = 主表.主键 外键默认值 = 主表_主键 (= 关联表_主键) 主键默认值 = 主表的主键 (= 关联表的主键)
其中本表从属于关联表,因此 本表是从表,关联表是主表
IOrmMeta belongsTo(java.lang.String name, kotlin.reflect.KClass<? extends net.jkcode.jkmvc.orm.IOrm> relatedModel, NonExistentClass foreignKey, java.util.Map<java.lang.String,? extends java.lang.Object> conditions)
生成属性代理 + 设置关联关系(belongs to)
公式:从表.外键 = 主表.主键 外键默认值 = 主表_主键 (= 关联表_主键) 主键默认值 = 主表的主键 (= 关联表的主键)
其中本表从属于关联表,因此 本表是从表,关联表是主表
IOrmMeta hasOne(java.lang.String name, kotlin.reflect.KClass<? extends net.jkcode.jkmvc.orm.IOrm> relatedModel, NonExistentClass foreignKey, NonExistentClass primaryKey, java.util.Map<java.lang.String,? extends java.lang.Object> conditions)
设置关联关系(has one)
公式:从表.外键 = 主表.主键 外键默认值 = 主表_主键(= 本表_主键) 主键默认值 = 主表的主键(= 本表的主键)
其中本表有一个关联表,因此 本表是主表,关联表是从表
IOrmMeta hasOne(java.lang.String name, kotlin.reflect.KClass<? extends net.jkcode.jkmvc.orm.IOrm> relatedModel, NonExistentClass foreignKey, java.util.Map<java.lang.String,? extends java.lang.Object> conditions)
设置关联关系(has one)
公式:从表.外键 = 主表.主键 外键默认值 = 主表_主键(= 本表_主键) 主键默认值 = 主表的主键(= 本表的主键)
其中本表有一个关联表,因此 本表是主表,关联表是从表
IOrmMeta hasMany(java.lang.String name, kotlin.reflect.KClass<? extends net.jkcode.jkmvc.orm.IOrm> relatedModel, NonExistentClass foreignKey, NonExistentClass primaryKey, java.util.Map<java.lang.String,? extends java.lang.Object> conditions)
设置关联关系(has many)
公式:从表.外键 = 主表.主键 外键默认值 = 主表_主键(= 本表_主键) 主键默认值 = 主表的主键(= 本表的主键)
其中本表有一个关联表,因此 本表是主表,关联表是从表
IOrmMeta hasMany(java.lang.String name, kotlin.reflect.KClass<? extends net.jkcode.jkmvc.orm.IOrm> relatedModel, NonExistentClass foreignKey, java.util.Map<java.lang.String,? extends java.lang.Object> conditions)
设置关联关系(has many)
公式:从表.外键 = 主表.主键 外键默认值 = 主表_主键(= 本表_主键) 主键默认值 = 主表的主键(= 本表的主键)
其中本表有一个关联表,因此 本表是主表,关联表是从表
IOrmMeta hasOneThrough(java.lang.String name, kotlin.reflect.KClass<? extends net.jkcode.jkmvc.orm.IOrm> relatedModel, NonExistentClass foreignKey, NonExistentClass primaryKey, java.lang.String middleTable, NonExistentClass farForeignKey, NonExistentClass farPrimaryKey, java.util.Map<java.lang.String,? extends java.lang.Object> conditions)
设置关联关系(has one)
公式:中间表.外键 = 主表.主键 中间表.远端外键 = 远端主表.远端主键 外键默认值 = 主表_主键(= 本表_主键) 主键默认值 = 主表的主键(= 本表的主键) 中间表默认值 = 主表_从表 远端外键默认值 = 远端主表_主键(= 从表_主键) 远端主键默认值 = 远端主表的主键(= 从表的主键)
其中本表有一个关联表,因此 本表是主表,中间表与关联表是从表
IOrmMeta hasManyThrough(java.lang.String name, kotlin.reflect.KClass<? extends net.jkcode.jkmvc.orm.IOrm> relatedModel, NonExistentClass foreignKey, NonExistentClass primaryKey, java.lang.String middleTable, NonExistentClass farForeignKey, NonExistentClass farPrimaryKey, java.util.Map<java.lang.String,? extends java.lang.Object> conditions)
设置关联关系(has many)
公式:中间表.外键 = 主表.主键 中间表.远端外键 = 远端主表.远端主键 外键默认值 = 主表_主键(= 本表_主键) 主键默认值 = 主表的主键(= 本表的主键) 中间表默认值 = 主表_从表 远端外键默认值 = 远端主表_主键(= 从表_主键) 远端主键默认值 = 远端主表的主键(= 从表的主键)
其中本表有一个关联表,因此 本表是主表,中间表与关联表是从表
IOrmMeta belongsTo(java.lang.String name, kotlin.reflect.KClass<? extends net.jkcode.jkmvc.orm.IOrm> relatedModel, java.lang.String foreignKey, java.lang.String primaryKey, java.util.Map<java.lang.String,? extends java.lang.Object> conditions)
生成属性代理 + 设置关联关系(belongs to)
公式:从表.外键 = 主表.主键 外键默认值 = 主表_主键 (= 关联表_主键) 主键默认值 = 主表的主键 (= 关联表的主键)
其中本表从属于关联表,因此 本表是从表,关联表是主表
IOrmMeta belongsTo(java.lang.String name, kotlin.reflect.KClass<? extends net.jkcode.jkmvc.orm.IOrm> relatedModel, java.lang.String foreignKey, java.util.Map<java.lang.String,? extends java.lang.Object> conditions)
生成属性代理 + 设置关联关系(belongs to)
公式:从表.外键 = 主表.主键 外键默认值 = 主表_主键 (= 关联表_主键) 主键默认值 = 主表的主键 (= 关联表的主键)
其中本表从属于关联表,因此 本表是从表,关联表是主表
IOrmMeta hasOne(java.lang.String name, kotlin.reflect.KClass<? extends net.jkcode.jkmvc.orm.IOrm> relatedModel, java.lang.String foreignKey, java.lang.String primaryKey, java.util.Map<java.lang.String,? extends java.lang.Object> conditions)
设置关联关系(has one)
公式:从表.外键 = 主表.主键 外键默认值 = 主表_主键(= 本表_主键) 主键默认值 = 主表的主键(= 本表的主键)
其中本表有一个关联表,因此 本表是主表,关联表是从表
IOrmMeta hasOne(java.lang.String name, kotlin.reflect.KClass<? extends net.jkcode.jkmvc.orm.IOrm> relatedModel, java.lang.String foreignKey, java.util.Map<java.lang.String,? extends java.lang.Object> conditions)
设置关联关系(has one)
公式:从表.外键 = 主表.主键 外键默认值 = 主表_主键(= 本表_主键) 主键默认值 = 主表的主键(= 本表的主键)
其中本表有一个关联表,因此 本表是主表,关联表是从表
IOrmMeta hasMany(java.lang.String name, kotlin.reflect.KClass<? extends net.jkcode.jkmvc.orm.IOrm> relatedModel, java.lang.String foreignKey, java.lang.String primaryKey, java.util.Map<java.lang.String,? extends java.lang.Object> conditions)
设置关联关系(has many)
公式:从表.外键 = 主表.主键 外键默认值 = 主表_主键(= 本表_主键) 主键默认值 = 主表的主键(= 本表的主键)
其中本表有一个关联表,因此 本表是主表,关联表是从表
IOrmMeta hasMany(java.lang.String name, kotlin.reflect.KClass<? extends net.jkcode.jkmvc.orm.IOrm> relatedModel, java.lang.String foreignKey, java.util.Map<java.lang.String,? extends java.lang.Object> conditions)
设置关联关系(has many)
公式:从表.外键 = 主表.主键 外键默认值 = 主表_主键(= 本表_主键) 主键默认值 = 主表的主键(= 本表的主键)
其中本表有一个关联表,因此 本表是主表,关联表是从表
IOrmMeta hasOneThrough(java.lang.String name, kotlin.reflect.KClass<? extends net.jkcode.jkmvc.orm.IOrm> relatedModel, java.lang.String foreignKey, java.lang.String primaryKey, java.lang.String middleTable, java.lang.String farForeignKey, java.lang.String farPrimaryKey, java.util.Map<java.lang.String,? extends java.lang.Object> conditions)
设置关联关系(has one)
公式:中间表.外键 = 主表.主键 中间表.远端外键 = 远端主表.远端主键 外键默认值 = 主表_主键(= 本表_主键) 主键默认值 = 主表的主键(= 本表的主键) 中间表默认值 = 主表_从表 远端外键默认值 = 远端主表_主键(= 从表_主键) 远端主键默认值 = 远端主表的主键(= 从表的主键)
其中本表有一个关联表,因此 本表是主表,中间表与关联表是从表
IOrmMeta hasManyThrough(java.lang.String name, kotlin.reflect.KClass<? extends net.jkcode.jkmvc.orm.IOrm> relatedModel, java.lang.String foreignKey, java.lang.String primaryKey, java.lang.String middleTable, java.lang.String farForeignKey, java.lang.String farPrimaryKey, java.util.Map<java.lang.String,? extends java.lang.Object> conditions)
设置关联关系(has many)
公式:中间表.外键 = 主表.主键 中间表.远端外键 = 远端主表.远端主键 外键默认值 = 主表_主键(= 本表_主键) 主键默认值 = 主表的主键(= 本表的主键) 中间表默认值 = 主表_从表 远端外键默认值 = 远端主表_主键(= 从表_主键) 远端主键默认值 = 远端主表的主键(= 从表的主键)
其中本表有一个关联表,因此 本表是主表,中间表与关联表是从表