public class CascadeUtils extends Object
Constructor and Description |
---|
CascadeUtils() |
Modifier and Type | Method and Description |
---|---|
static <T extends Collection<?>> |
convertToCollection(Class<?> clz,
List<Object> list) |
static Map |
convertToMap(String fieldName,
List list) |
static CascadeConfig |
doCascade(Class<? extends DBObject> clz,
ColumnMapping cm)
cascade属性: 指定级联操作的行为(可多选)
CascadeType.PERSIST 级联新增(又称级联保存) CascadeType.MERGE 级联合并(又称级联更新) CascadeType.REMOVE 级联删除 CascadeType.REFRESH 级联刷新 CascadeType.ALL 包含所有持久化方法 |
static Class<?> |
getGenericType(ColumnMapping cm,
Class<?> subClz) |
static void |
setCollectionValues(DBObject obj,
ColumnMapping cm,
List<Object> subObjs) |
static void |
setMapValues(DBObject obj,
ColumnMapping cm,
List<Object> subObjs) |
public static CascadeConfig doCascade(Class<? extends DBObject> clz, ColumnMapping cm)
mappedBy:
1.只有OneToOne,OneToMany,ManyToMany上才有mappedBy属性,ManyToOne不存在该属性;
2.mappedBy标签一定是定义在被拥有方的,他指向拥有方;
3.mappedBy的含义,应该理解为,拥有方能够自动维护跟被拥有方的关系,当然,如果从被拥有方,通过手工强行来维护拥有方的关系也是可以做到的;
4.mappedBy跟joinColumn/JoinTable总是处于互斥的一方,可以理解为正是由于拥有方的关联被拥有方的字段存在,拥有方才拥有了被拥有方。
mappedBy这方定义JoinColumn/JoinTable总是失效的,不会建立对应的字段或者表。
clz
- cm
- public static <T extends Collection<?>> T convertToCollection(Class<?> clz, List<Object> list)
T
- clz
- Collection类型list
- public static Map convertToMap(String fieldName, List list)
fieldName
- 字段名称list
- public static Class<?> getGenericType(ColumnMapping cm, Class<?> subClz)
public static void setCollectionValues(DBObject obj, ColumnMapping cm, List<Object> subObjs)
obj
- cm
- subObjs
- public static void setMapValues(DBObject obj, ColumnMapping cm, List<Object> subObjs)
obj
- cm
- subObjs
- Copyright © 2020. All rights reserved.