У меня есть следующие настройки
Seizure {
private SeizureI18n seizureI18n;
@OneToOne(fetch = FetchType.LAZY)
@PrimaryKeyJoinColumn
public SeizureI18n getSeizureI18n() {
return this.seizureI18n;
}
}
SeizureI18n {
private Seizure seizure;
@OneToOne(fetch = FetchType.LAZY, mappedBy = "seizureI18n")
public Seizure getSeizure() {
return this.seizure;
}
}
Когда я запускаю запрос со следующим Criteria
запросом (наблюдаем использование псевдонима)
criteria = metaDataConsole.session.createCriteria(Seizure.class,"Seizure");
criteria.createCriteria("Seizure.seizureI18n");
criteria.list();
, это приводит кследующий запрос SQL.
FROM incbszdb.seizure this_
INNER JOIN incbszdb.seizure_i18n seizurei18x1_
ON this_.id = seizurei18x1_.id
LEFT OUTER JOIN incbszdb.seizure seizure4_
ON seizurei18x1_.id = seizure4_.id
Откуда происходит второе присоединение к изъятиям
LEFT OUTER JOIN incbszdb.seizure seizure4_
ON seizurei18x1_.id = seizure4_.id
?