问题描述
我想知道是否可以在不使用 @Query 注释的情况下创建 JPA 从我正在查询的对象内的对象的属性中获取结果。
我能够`列出 findAllById(Long id) 就好了,但我想知道的是是否可以进行类似的查询来查找该类中对象的属性,我的域的示例如下:
public class OcorrenciaParticipante
@Id
@Column(name = "cod_ocorrencia_participante")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long codigo;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "cod_ocorrencia", referencedColumnName = "cod_ocorrencia")
private Ocorrencia ocorrencia;
public class Ocorrencia
@Id
@Column(name = "cod_ocorrencia")
private Long codigo;
我想要的是编写类似List<OcorrenciaParticipante> findAllByOcorrencia
以使用 Ocorrencia 类中的codigo
属性获取 OcorrenciaParticipante 列表。
当我执行上述操作并调用我的端点传递变量 codigo 的值时,我收到异常:
java.lang.IllegalArgumentException: Parameter value [1] did not match expected type [project.model.oc.Ocorrencia (n/a)]
我使用这里的信息尝试了一些事情
那可能吗?
1楼
我认为您只需要在存储库方法签名中包含嵌套属性:
List<OcorrenciaParticipante> findAllByOcorrenciaCodigo
关于它的 Spring 文档: :
有更多讨论的类似问题: