我想根据条件竞争找出结果,但有效的方法是ExtendModule.getExtendFieldList上方的注释。我希望上面的注释使用ExtendModuleUndeletedData.getExtendFieldlist生效。
我分析了休眠代理ExtendModuleUndeletedData的原因,当我调用ExtendModuleUndeletedData.getExtendFieldList时,休眠代理调用ExtendModule.getExtendFieldList。
我不希望休眠代理调用注释ExtendModule.getExtendFieldList。我真的很想调用ExtendModuleUndeletedData.getExtendFieldList的注释。
存储库
public interface ExtendModuleRepository extends BaseRepository<ExtendModule> {
List<ExtendModuleUndeletedData> findByDelIsFalse(String tableName, Sort sort);
}
实体
@Entity
@Table(name = "t_extend_module")
@Getter
@Setter
public class ExtendModule extends CreateBaseEntity {
private String tableName;
private String label;
private int sort;
private List<ExtendField> extendFieldList;
private boolean del = false;
@OrderBy("sort asc")
@Where(clause = "del=true")// <---- valid annotation
@OneToMany(mappedBy = "extendModuleId", cascade = CascadeType.REMOVE)
public List<ExtendField> getExtendFieldList() {
return extendFieldList;
}
@Column(columnDefinition = "tinyint", length=1)
public boolean isDel() {
return del;
}
}
dto实体
public interface ExtendModuleUndeletedData {
@OrderBy("sort asc")
@Where(clause = "del=false")// <---- invalid annotation
List<ExtendField> getExtendFieldList();
boolean isDel();
String getId();
String getLabel();
int getSort();
}
ExtendModuleUndeletedData = DTO
ExtendModule =表实体