如何在JPQL上选择类型列表的属性? 示例:
@Entity
public class Person {
@id
private Long id;
private String name;
private String lastname;
private String birthdate;
@OneToMany
private List<Phone> getPhones();
...
}
@Entity
public class Phone {
@id
private Long id;
private String number;
...
}
在存储库中,我需要一个投影,所以:
public interface IPersonProjection {
Long getId();
String getName();
List<Phone> phones();
}
@Repository
public interface IAtendimentoRepository extends JpaRepository<Atendimento, Long> {
@Query("SELECT P.id, P.name, P.phones FROM Person P ")
List<IPersonProjection> findAllProjected();
}
但是当我尝试执行此操作(SELECT P.id,P.name,P.phone FROM Person P)时,SQL语法错误。
答案 0 :(得分:0)
如Spring Data Docs
中所指定,您应该在Projection Interface
中具有属性的访问器。因此,我认为您应该将phones
的{{1}}方法的名称更改为IPersonProjection
。