Объявите @NamedNativeQuery и @SqlResultSetMapping вне класса @Entity - PullRequest
0 голосов
/ 18 апреля 2019

В моем проекте Maven у меня есть 2 модуля:

com.example.common и

com.example.myfeature

В common модуле У меня есть имя пакета entities, которое содержит @Entity класс

В myfeature модуле У меня есть имя пакета vos, которое содержит DTO или Value Object класс.

com.example.common
+-----------------entities
+-------------------------Doctor.java
com.example.myfeature
+-----------------vos
+--------------------DoctorDTO.java
+-----------------repository
+--------------------DoctorRepository.java

Я объявил @SqlResultSetMapping вот так:

@SqlResultSetMapping(
        name = "resultMappingQuery",
        classes = @ConstructorResult(
                targetClass = DoctorDTO.class,
                columns = {
                        @ColumnResult(name = "doctorId", type = Long.class),
                        @ColumnResult(name = "gender", type = Gender.class),
                        @ColumnResult(name = "dateOfBirth", type = Date.class),
                        @ColumnResult(name = "description", type = String.class),
                        @ColumnResult(name = "avatarImg", type = String.class),
                        @ColumnResult(name = "title", type = String.class),
                        @ColumnResult(name = "addressTitle", type = String.class),
                        @ColumnResult(name = "address", type = String.class),
                        @ColumnResult(name = "department", type = String.class),
                })
)

Если я объявляю @SqlResultSetMapping в общем модуле, мне нужно импортировать DoctorDTO из myfeature в common.

Проблема в том, что я не могу импортировать модуль myfeature в модуль common, у меня проблема с жесткой связью.

Я бы хотел объявить @SqlResultSetMapping где-нибудь в myfeature модуле.

Как я могу это сделать?

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