点赞关注不迷路 项目地址
前言
当使用Lazy ORM 框架操作数据库时使用高级映射
场景
如查询用户时需要关联出用户的其他信息如地址、角色
使用方法
可以再对应的查询结果实体上添加
- 自动映射用户对应的地址(一对一)
@LazyTableTranslationOneField(translationSourceName = "addressId", translationTargetName = "id", columnList = "addressName",
translationTargetTableName = "lazy_table_address", type = LazyTranslationTableEndpoint.Type.COLUMN,
lazyTranslationAPIClass = LazyTableTranslationOneAPI.class)
@LazyTableField(exist = false)
注解属性:
translationSourceName:当前返回实体(查询出的结果需要根据这个字段的数据进行映射)
translationTargetName:目标数据库字段
columnList:查询目标表需要返回那些字段(可以是多个会自动映射成对象)
translationTargetTableName:目标表名称
type:指定映射类型包含所有字段、指定字段。默认所有字段
lazyTranslationAPIClass:需要自定义转译api在这里声明
2.一对多(type为LazyTranslationTableEndpoint.Type.ALL 或者columnList枚举出想要的字段)
@LazyTableTranslationOneToManyField(
translationSourceName = "id",
translationTargetName = "automationId",
translationTargetTableName = "automation_node",
translationTargetType = AutomationNode.class,
type = LazyTranslationTableEndpoint.Type.ALL
)