// где-то в main:
B b = new B(); <-- stack overflow
В моём коде такого нет. Вызывается родитель с мэйна A .. В котором создаётся экземпляр B b = new B();
Я создаю экземпляр B один раз ..
Да но почему " создается объект класса RegistrationDataDistributor и так пока не кончится стек" ?
Какова не правильная созданная последовательность в моём коде , которая приводит к этому ?
Да конечно, обычно при таких случаях выдаёт ошибку по поводу самого соединения с базой , а не с тем что factory null .. Реально тот же код на домашнем работает.
Самое не понятное , это то что я скопировал полностью проект с домашнего компа на лептоп. На домашнем работает! На лептопе выдаёт Session Factory null ..
" Коллекция загрузится ровно в том объеме, в каком был сделан запрос " так я это и пытаюсь узнать сам процесс загрузки этого обьёма .. Именно КАК он загружается ? Допустим - загрузка может происходить до того момента как нашли подходяший адрес к которому было дано обращения и который находится в колекции а после чего остальные адресса в колекции не загружаются . Этим и отличается LAZY от EAGER ? Так как если бы поставилил тип загрузки EAGER то была бы подтянута в память вся колекция и после чего выдан тот адрес который мне нужен .. Я правильно понял ? То есть при LAZY происходит экономия памяти ?
Axian Ltd.: " Ничего имхо не поменяется что lazy, что eager для зависимой таблицы рояли не играет! " : Приведу пример кода в дальнейшем .. То есть колекция загружется вся ? Не важно стоит ли там LAZY или EAGER , так как было данно обрашение к этой встроенной колекции ?
Допустим зависимая таблица это встроенная колекция в выбираемой таблици User. Колекция адресов для юзера, на эту колекцию я ставлю LAZY тип, эта колекция сожержит один из адресов к которому я обратился , как будет загруженна колекция ?