refactor: optimize AbstractRelation.java

This commit is contained in:
Michael Yang 2024-06-12 17:00:50 +08:00
parent 2a36f79d73
commit c1d36adeee

View File

@ -83,7 +83,7 @@ public abstract class AbstractRelation<SelfEntity> {
this.dataSource = dataSource;
this.selfField = ClassUtil.getFirstField(entityClass, field -> field.getName().equals(selfField));
this.selfField = ClassUtil.getFirstField(entityClass, field -> field.getName().equalsIgnoreCase(selfField));
this.selfFieldWrapper = FieldWrapper.of(entityClass, selfField);
//以使用者注解配置为主
@ -94,12 +94,13 @@ public abstract class AbstractRelation<SelfEntity> {
//当指定了 valueField 的时候一般是 String Integer 等基本数据类型
this.targetEntityClass = (StringUtil.isNotBlank(valueField) && targetTableInfo != null) ? targetTableInfo.getEntityClass() : relationFieldWrapper.getMappingType();
this.targetField = ClassUtil.getFirstField(targetEntityClass, field -> field.getName().equals(targetField));
this.targetField = ClassUtil.getFirstField(targetEntityClass, field -> field.getName().equalsIgnoreCase(targetField));
if (this.targetField == null) {
throw new IllegalStateException("Can not find field by name \"" + targetField + "\" from class: " + targetEntityClass.getName());
}
this.targetFieldWrapper = FieldWrapper.of(targetEntityClass, targetField);
this.valueField = valueField;
this.onlyQueryValueField = StringUtil.isNotBlank(valueField);