我使用Spring Framework作为我的后端
我已经将知道定义为实体类实体类知道包含 5 个字段
下面是类,下面的代码没有setter getter 部分,使之更短更干净
@Entity
@Table(name="TblKnow")
public class Know {
@Id
private Double idKnow;
private String SubjectKnow;
private String BodyKnow;
private String ImgKnow;
private double CountView;
在JpaRepository 接口中,我只想查询两列而不是所有列。
public interface KnowRepository extends JpaRepository<Know,Double> {
@Query("SELECT idKnow,SubjectKnow FROM Know")
public Page<Know> findCByOrderByIdKnowDesc(Pageable pageable);
问题:我尝试运行,但出现以下异常
java.lang.IllegalArgumentException:无法使用请求的结果类型 [java.lang.Long] 为具有多个返回的查询创建 TypedQuery
但是如果我在没有以下查询的情况下使用它就可以了
public Page<Know> findAllByOrderByIdKnowDesc(Pageable pageable);
您可以创建自定义构造函数并使用它来仅选择 JPA 查询中的某些字段。
public Know(Double idKnow, String SubjectKnow) {
this.idKnow = idKnow;
this.SubjectKnow = SubjectKnow;
}
并在 JPA 查询中使用此构造函数。确保使用包的完整路径。
@Query("SELECT NEW packagePath.Know(idKnow,SubjectKnow) FROM Know")
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句