У меня есть Интерфейс Студент и два реализующих класса Девочка и Мальчик.
Затем у меня есть класс 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
Надеемся, кто-то знает лучшее решение.