mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-08 09:38:26 +08:00
fix: Relation annotations join error
This commit is contained in:
parent
d020fe26b4
commit
20f48eb23b
@ -67,16 +67,18 @@ class OneToMany<SelfEntity> extends AbstractRelation<SelfEntity> {
|
|||||||
return queryWrapper;
|
return queryWrapper;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void join(List<SelfEntity> selfEntities, List<?> targetObjectList, BaseMapper<?> mapper) {
|
public void join(List<SelfEntity> selfEntities, List<?> targetObjectList, BaseMapper<?> mapper) {
|
||||||
selfEntities.forEach(selfEntity -> {
|
selfEntities.forEach(selfEntity -> {
|
||||||
Object selfValue = selfFieldWrapper.get(selfEntity);
|
Object selfValue = selfFieldWrapper.get(selfEntity);
|
||||||
if (selfValue != null) {
|
if (selfValue != null) {
|
||||||
|
selfValue = selfValue.toString();
|
||||||
Class<?> wrapType = MapperUtil.getWrapType(relationFieldWrapper.getFieldType());
|
Class<?> wrapType = MapperUtil.getWrapType(relationFieldWrapper.getFieldType());
|
||||||
Collection<Object> collection = (Collection) ClassUtil.newInstance(wrapType);
|
Collection<Object> collection = (Collection) ClassUtil.newInstance(wrapType);
|
||||||
for (Object targetObject : targetObjectList) {
|
for (Object targetObject : targetObjectList) {
|
||||||
Object targetValue = targetFieldWrapper.get(targetObject);
|
Object targetValue = targetFieldWrapper.get(targetObject);
|
||||||
if (selfValue.equals(targetValue)) {
|
if (targetValue != null && selfValue.equals(targetValue.toString())) {
|
||||||
collection.add(targetObject);
|
collection.add(targetObject);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -53,9 +53,10 @@ class ToOneRelation<SelfEntity> extends AbstractRelation<SelfEntity> {
|
|||||||
selfEntities.forEach(selfEntity -> {
|
selfEntities.forEach(selfEntity -> {
|
||||||
Object selfValue = selfFieldWrapper.get(selfEntity);
|
Object selfValue = selfFieldWrapper.get(selfEntity);
|
||||||
if (selfValue != null) {
|
if (selfValue != null) {
|
||||||
|
selfValue = selfValue.toString();
|
||||||
for (Object targetObject : targetObjectList) {
|
for (Object targetObject : targetObjectList) {
|
||||||
Object targetValue = targetFieldWrapper.get(targetObject);
|
Object targetValue = targetFieldWrapper.get(targetObject);
|
||||||
if (selfValue.equals(targetValue)) {
|
if (targetValue != null && selfValue.equals(targetValue.toString())) {
|
||||||
relationFieldWrapper.set(targetObject, selfEntity);
|
relationFieldWrapper.set(targetObject, selfEntity);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user