У меня есть
@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Уровень
Спасибо