如何定义要通过查询加载的JPA实体类(不是表中的所有记录)

时间:2018-11-26 09:59:34

标签: spring jpa entity

我有

@MappedSuperclass
public class AbstractFoo implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    ...

并且我有一个继承/扩展它的实体:

@Entity
@Table(name = "Foo")
public class FooSomething extends AbstractFoo {
    private static final long serialVersionUID = 1L;

    @ManyToOne
    @JoinColumn(name = "fk_something")
    private Something something;
    ...

fk_something可能为空。

如何定义仅获取fk_something不为null的Foos的实体类?

我正在寻找这样的东西:

@Entity
@Table(name = "Foo")
@Query(SELECT *[fields of AbstractFoo + FooSomething] from <schema>.foo where fk_something is not null)
public class FooSomething extends AbstractFoo {
    ...

在编写此问题时,我想到了一种简单的方法,即每次通过FooSomethingRepository提取Foos时都简单地定义,以简单地在查询中指定“某物”不为空。

但是我仍然想知道是否有一种更正式的方法可以在实体类级别上对此进行定义

谢谢

0 个答案:

没有答案