У меня есть таблица dept и таблица emp. Таблица dept имела отношение «один ко многим» с emp table w.r.t deptId.Спящий режим: повторение в FetchMode.JOIN
Когда я попробовал этот код:
session.createCriteria(Dept.class).setFetchMode("empMap", FetchMode.JOIN)
.list();
Это Сгенерированный в моей консоли для SQL-запроса, порожденного спящего режимом:
select this_.DEPT_ID as DEPT1_1_1_, this_.DEPT_NAME as DEPT2_1_1_,
empmap2_.DEPT_ID as DEPT3_3_, empmap2_.EMP_ID as EMP1_3_,
empmap2_.EMP_ID as formula0_3_, empmap2_.EMP_ID as EMP1_0_0_,
empmap2_.EMP_NAME as EMP2_0_0_, empmap2_.DEPT_ID as DEPT3_0_0_,
empmap2_.AGE as AGE0_0_, empmap2_.SEX as SEX0_0_
from dept this_, emp empmap2_
where this_.DEPT_ID=empmap2_.DEPT_ID(+)
В сгенерированном спящем запросе я могу ясно видеть что в столбцах таблицы emp есть повторение. Но я не хочу, чтобы эти повторения появлялись. Как избежать повторения в спящем сгенерированном запросе?
Пожалуйста, сообщите, как удалить эти повторения.
С уважением,
Добавить эмблему. Кажется, у вас есть формула –
В настоящее время нет способа удалить их. Они происходят из ассоциативных сопоставлений. Но почему вас это волнует? –