Я не уверен, как отобразить вложенный набор результатов в сущность домена.
Ниже приведено краткое представление о том, что я пытаюсь сделать:
2 таблицы
------------
BOOKS
------------
STUDENT_ID
BOOK_NAME
DUE_DATE
------------
STUDENTS
------------
STUDENT_ID
STUDENT_NAME
DomainEntity (содержит вложенный список)
LoanEntity.java
String studentId;
String studentName;
List<Book> books;
Book.java
String studentId;
String bookName;
Date dueDate;
PersistenceEntity
Loans.java
String studentId;
String studentName;
String bookName;
Date dueDate;
Dao.xml (Не уверен, как сопоставить его, пробовал использовать one )
<resultMap id="loanMap" type="com.persistence.entity.Loans">
<id property="studentId" column="studentId"/>
<result property="studentName" column="studentName"/>
<result property="bookName" column="bookName"/>
<result property="dueDate" column="dueDate"/>
...
Обратите внимание, что этот запрос будет дублировать запись для количества найденных книг.
SELECT
s.STUDENT_ID, s.STUDENT_NAME, b.BOOK_NAME, b.DUE_DATE
FROM STUDENTS s
LEFT JOIN
BOOKS b ON s.STUDENT_ID=b.STUDENT_ID
LoanMapper.java
@Mappings({
@Mapping(source="studentId", target="studentId"),
@Mapping(source="studentName", target="studentName"),
@Mapping(source="bookName", target="books.bookName"),
@Mapping(source="dueDate", target="books.dueDate")
})
LoanEntity persistenceToDomainEntity(Loans loans);
List<LoanEntity> persistenceToDomainEntity(List<Loans> loans);
Ниже приводится ошибка, которую я получаю:
ошибка: неизвестное свойство "books.bookName" в типе результата com.loan.domain.model.Loan.Вы имели в виду books.empty?ошибка: неизвестное свойство "books.dueDate" в типе результата com.loan.domain.model.Loan.Вы имели в виду "books.empty"?