Найти объект по свойству @ Any-Mapped с помощью Hibernate - PullRequest
0 голосов
/ 12 сентября 2018

У меня есть Интерфейс Студент и два реализующих класса Девочка и Мальчик.

Затем у меня есть класс StudentInfo, где Студент отображается с @ Any-Annotation

@AnyMetaDef(name= "StudentMetaDef", metaType = "string", idType = "int",
metaValues = {
    @MetaValue(value = "B", targetEntity = Boy.class),
    @MetaValue(value = "G", targetEntity = Girl.class)
})
@Any(
    metaDef = "StudentMetaDef",
    metaColumn = @Column(name = "student_gender")
)
@JoinColumn( name = "student_id" )
private Student student;

Как этотеперь можно найти StudentInfo by Student в CrudRepository?

На самом деле это удалось решить с помощью двух собственных методов запроса с таким запросом:

select *
from student_info info
where info.student_gender = 'B'
and info.student_id = :id

Надеемся, кто-то знает лучшее решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...