简体   繁体   English

Spring Data JPA-如何通过父对象的ID查找嵌套对象?

[英]Spring Data JPA - How to find nested objects by parental object's id?

Some object: 一些对象:

public class SomeObject {
    @Id
    @GeneratedValue
    private Long id;

    @OneToMany(mappedBy = "someObject")
    @Cascade(CascadeType.ALL)
    private Collection<NestedObject> nestedObjects;

    // ...
}

Nested object: 嵌套对象:

public class NestedObject {
    @Id
    @GeneratedValue
    private Long id;

    @ManyToOne(fetch = FetchType.LAZY)
    private SomeObject someObject;

    // ...
}

I can find all nested objects by findAll method, but I can't find nested objects by someObject 's id or itself (I'm getting empty collection). 我可以通过findAll方法找到所有嵌套的对象,但是我无法通过someObject的ID或自身找到嵌套的对象(我正在获取空集合)。

public interface NestedObject Repository extends JpaRepository<NestedObject , Long> {

    Collection<NestedObject> findBySomeObject_Id(Long id);

    Collection<NestedObject> findBySomeObject(SomeObject someObject);
}

Forget initialize SomeObject in NestedObject s in SomeObject 's constructor: 忘记SomeObject的构造函数NestedObject的initialize SomeObject:

    for (NestedObject nestedObject: nestedObjects)
        nestedObject.setSomeObject(this);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM