Как определить класс сущности JPA для загрузки по запросу (не все записи в таблице) - PullRequest
0 голосов
/ 26 ноября 2018

У меня есть

@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 может быть нулевым.

Как мне определить объектКласс, который он должен знать, чтобы получать только Foos, где fk_something не является нулевым?

Я ищу что-то вроде этого:

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

При написании этого вопроса я подумал о простом подходепросто определять каждый раз, когда я выбираю Foos через FooSomethingRepository, чтобы просто указать в запросе, что «что-то» не является нулевым.

Тем не менее, мне все еще интересно знать, есть ли более формальный способ определить это в Entity ClassУровень

Спасибо

...