繁体   English   中英

在Spring Data JPA中按类型查询

[英]Query by type in Spring Data JPA

我抽象课:

@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public abstract class A {
  ...
}

很少扩展类,如:

@Entity
public class B extends A {
  ...
}

我也有第三个实体:

@Entity
public class C  {

  @OneToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
  private A objectA;
  ...
}

问题是,我如何在C实体存储库中构造Spring Data JPA finder,以仅查询扩展A所需类型的对象?

您可以使用已定义“类型”的鉴别器值的名称

@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(name = "type", discriminatorType = DiscriminatorType.STRING)
@Table(name = "abc")
public abstract class Abc {
....

-------------------------------------------

@Query("select a from Abc a where type = ?1")
List<Abc> findByType(String typeValue);

暂无
暂无

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

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