После некоторого количества медитации:
На первый мой вопрос ответ - нет. Коллекция будет всегда доставаться, как только к ней попытаться обратиться. Выход хорошо описан
здесь.
Второй вопрос. Если все же делать через ассоциацию One to Many. То нужно делать не через
JoinTable
, что по умолчанию, а через
@JoinColumn
. Тогда sql для любой итерации добавления объекта будет выглядеть так:
Hibernate:
insert
into
SubCategory
(subCategoryName, subCategoryId)
values
(?, ?)
Hibernate:
update
SubCategory
set
subCategories_categoryId=?
where
subCategoryId=?