То, что генерируется автоматом в NetBeans — просто связывает соседние таблицы, т.е. projects с users_on_projects, users с users_on_projects. В этом случае, большая часть преимуществ использования хибернейта теряется ((
Наколхозить таким образом можно, все будет работать прекрасно, но это будет КОЛХОЗ. Для поиска проектов, связанных с пользователем, придется делать отдельный запрос к users_on_projects(и т.д.), вместо user.getProjects(); И это — проваааал! ((
Автоматическую геренацию использовать можно(и нужно, где возможно), но, для сложных случаев, все равно придется много править руками.
ps на stackoverflow посоветовали копать в сторону ternery associations, для связи intervals с другими таблицами через users_on_projects. Попробую пойти в этом направлении…
Проблема в том, что автоматом получается полная ерунда.
Пример:
Тот маппинг, который я сделал вручную, позволяет использовать такие конструкции:
user.getProjects().get(0).getIntervals()
user.getIntervals().get(0).getProject()
То, что генерируется автоматом в
NetBeans
— просто связывает соседние таблицы, т.е.projects
сusers_on_projects
,users
сusers_on_projects
. В этом случае, большая часть преимуществ использования хибернейта теряется ((Наколхозить таким образом можно, все будет работать прекрасно, но это будет КОЛХОЗ. Для поиска проектов, связанных с пользователем, придется делать отдельный запрос к
users_on_projects
(и т.д.), вместоuser.getProjects();
И это — проваааал! ((Автоматическую геренацию использовать можно(и нужно, где возможно), но, для сложных случаев, все равно придется много править руками.
ps на stackoverflow посоветовали копать в сторону
ternery associations
, для связиintervals
с другими таблицами черезusers_on_projects
. Попробую пойти в этом направлении…