如何在 jpa 中为 EmbeddedId 编写选择命名查询?

Posted

技术标签:

【中文标题】如何在 jpa 中为 EmbeddedId 编写选择命名查询?【英文标题】:How to write select named query in jpa for EmbeddedId? 【发布时间】:2020-10-04 12:09:51 【问题描述】:

我有一个名为 Parent 的 JPA 实体,里面有作为 Child 的嵌入主键

@Entity
@Table(name = "PARENT")
@NamedQuery(?????)
public class Parent implements Serializable 

    @EmbeddedId
    private ChildPK child;

@Embeddable
public class ChildPK implements Serializable 

    @Column(name = "DEALERID")
    private String dealerId;

    @Column(name = "BRANDID")
    private Long brandId;
..

如何在 Parent 类中编写命名查询,以便我可以对 ChildPk 中的dealerId 和brandId 执行选择。

【问题讨论】:

【参考方案1】:

从父 p 中选择 p WHERE p.child.dealerId = ?和 p.child.brandId=?

【讨论】:

以上是关于如何在 jpa 中为 EmbeddedId 编写选择命名查询?的主要内容,如果未能解决你的问题,请参考以下文章

JPA @EmbeddedId 未生成序列

Embeddable 和 EmbeddedId 之间的 JPA 映射 @ManyToOne

我应该使用哪个注释:@IdClass 或 @EmbeddedId

将 @EmbeddedId 与 JpaRepository 一起使用

带有查询 Spring-Boot jpa 1.5 的可选参数

如何根据所选国家/地区在 MVC3 中为美国或加拿大邮政编码验证编写自定义验证器?