【问题标题】:How to create dynamic query using criteriaquery for many-to-one如何使用标准查询为多对一创建动态查询
【发布时间】:2013-09-09 08:17:35
【问题描述】:

我在 JPA 中有 Person 与 Address 的一对多关系。

@Id 
    @Column(name="personid")
    private Long personId;
    private String firstName;
    private String lastName;
    private String email;    

    @OneToMany(cascade = CascadeType.ALL,mappedBy="person",targetEntity=Address.class,fetch=FetchType.LAZY)      
    private List addressArray=new ArrayList<>();   
    public Person() {

    }  

我想使用条件查询创建动态查询,以便我可以从“address.person.firstname”之类的地址对象中获取人的名字。

【问题讨论】:

  • 是的,即使使用 Lazy fetching 也没问题。去做吧。
  • @user2310289 是的,但是如何使用标准 api?

标签: java jpa criteria-api many-to-one


【解决方案1】:

您可以在 Criteria 中使用 join() 来访问关系。

https://en.wikibooks.org/wiki/Java_Persistence/Criteria#Join

【讨论】:

    猜你喜欢
    • 2019-01-02
    • 2016-06-16
    • 1970-01-01
    • 2021-09-09
    • 1970-01-01
    • 2017-04-20
    • 1970-01-01
    • 2012-02-09
    • 2018-10-27
    相关资源
    最近更新 更多