Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot Spring Boot JPA获取父级&;小孩_Spring Boot_Spring Data Jpa_Spring Boot Test - Fatal编程技术网

Spring boot Spring Boot JPA获取父级&;小孩

Spring boot Spring Boot JPA获取父级&;小孩,spring-boot,spring-data-jpa,spring-boot-test,Spring Boot,Spring Data Jpa,Spring Boot Test,我有两张桌子: @Entity @Table public class ProductEntity extends AbstractEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long productId; @OneToMany(mappedBy = "product", cascade = CascadeType.ALL, orphanR

我有两张桌子:

@Entity
@Table
public class ProductEntity extends AbstractEntity {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long productId;

    @OneToMany(mappedBy = "product", cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.LAZY)
    private Set<ProductItemEntity> productItems;
}


@Entity
@Table
public class ProductItemEntity extends AbstractEntity {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long itemId;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "PRODUCT_ID", nullable = false)
    private ProductEntity product;

    @Column(name="PRODUCT_RATE") // Unique
    private Integer productRate;
}
我首先保存产品和产品项。然后执行上述方法,以获取包含产品项的产品。但我得到的结果是空的

不知道我是否错过了什么。任何帮助都将不胜感激

  • 弹簧靴
  • H2(
    @DataJpaTest

您能否查看Hibernate生成的原始查询,然后直接在数据库中运行它?验证预期数据是否确实存在于表中。我正在运行H2进行测试。然而,当我调试时,我看到实体被持久化,因为我看到生成的ID和相应的字段也在那里。
@Query("SELECT p FROM ProductEntity p JOIN FETCH p.productItems pi WHERE p.productId = :productId AND pi.productRate = :rate ")
ProductEntity findByProductAndRate(@Param("productId") Long productId, @Param("rate") Integer rate);