Два объекта:
public class Employee {
Company company;
Long employeeId;
}
public class Project {
Company company;
Long projectId;
Collection<Employee> employees;
}
Три стола:
- Проект, первичный ключ которого - {companyId, projectId}
- Сотрудник, первичный ключ которого - {companyId, employeeId}
- Project_Employee, первичный ключ которого - {companyId, projectId, employeeId}
Отображение в xml:
<entity class="domain.Project">
<attributes>
<many-to-many name="employees" >
<join-table name="PROJECT_EMPLOYEE">
<join-column name="companyId" referenced-column-name="companyId"/>
<join-column name="employeeId" referenced-column-name="employeeId" />
<inverse-join-column name="companyId" referenced-column-name="companyId" />
<inverse-join-column name="projectId" referenced-column-name="projectId" />
</join-table>
</many-to-many>
</attributes>
</entity>
Я получил сообщение об ошибке, вызвавшее появление компании несколько раз:
Повторный столбец в сопоставлении для коллекции: столбец Project.employees: companyId
Hibernate сопоставляет это с
<formula>companyId</formula>
Поддерживает ли JPA 1.0 эту функцию?