gpt4 book ai didi

java - JPA by Object 在对象中使用非@Id 的属性

转载 作者:行者123 更新时间:2023-11-30 05:46:44 25 4
gpt4 key购买 nike

我想知道是否可以在不使用 @Query 注释的情况下创建 JPA,以从我正在查询的对象内的对象属性获取结果。

我能够“List 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 的内容使用 codigo 获取 OcorrenciaParticipante 列表来自 Ocorrencia 类的属性。

当我执行上述操作并调用传递变量 codigo 值的端点时,出现异常:

java.lang.IllegalArgumentException: Parameter value [1] did not match expected type [project.model.oc.Ocorrencia (n/a)]

我已经使用此处的信息尝试了一些操作 https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#repository-query-keywords

这可能吗?

最佳答案

我认为您只需要在存储库方法签名中包含嵌套属性:

List<OcorrenciaParticipante> findAllByOcorrenciaCodigo

Spring 文档:https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#repositories.query-methods.query-property-expressions

类似问题更多讨论:Spring Data JPA find by embedded object property

关于java - JPA by Object 在对象中使用非@Id 的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54697153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com