如何解决找不到用于类型的属性,对于本机jpa投影
找不到类型为TEntity的属性parentName
EntityTable
@Entity
@Table(name="t")
@NamednativeQueries(value = {
@NamednativeQuery(
name = "TEntity",query = "select t.name as name,t2.name as parentName from t left join t t2 on t.parent_uuid=t2.uuid",resultSetMapping = "tt"
)
}
)
@sqlresultsetmapping(name="tt",classes={
@ConstructorResult(targetClass= TDTO.class,columns={
@ColumnResult(name="parentName",type=String.class),})
}
)
public class TEntity {
...
@ManyToOne
@JoinColumn(name="parent_uuid")
@JsonBackReference
private TEntity parentT;
}
存储库
@Repository
public interface TRepo extends IExtendedJpaRepository<TEntity,UUID> {
@Query(nativeQuery=true)
List<TLightDTO> findTEntitiesByisDelete(boolean isDelete,Pageable pageable);
}
自定义DTO
public interface TDTO {
String getName();
String getParentName();
}
不欢迎我尝试从TRepo获取自定义DTO(TDTO),这很合理,必须从TEntity找到自定义DTO字段,
我真的很想使用本机查询来获取仅TDTO所需的信息,因此我可以优化搜索。但是这个例外阻止了我。
使用本地查询来获取自定义POJO时,为了避免此异常,我该怎么做?并使用IExtendedJpaRepository。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。