Пакетная вставка nHibernate не работает с ассоциациями? - PullRequest
1 голос
/ 02 февраля 2010

Я пытаюсь найти дополнительную информацию о том, как nHibernate решает, как объединить несколько вставок вместе.Очевидно, это просто работает, если у вас есть простой список объектов одного типа, без дочерних объектов.

В моем приложении у меня есть отношение один ко многим между тремя таблицами A, B и C: A имеет много B, B имеет много C. Я использую собственный генератор для идентификатора A, но для B и C я просто использую составные ключи, которые назначены в коде, так что nHibernate может только вставлять,Кажется, они работают нормально, и я могу сохранить все объекты должным образом.

Проблема в том, что nHibernate не выглядит достаточно умным, чтобы попытаться сначала вставить все объекты типа A в пакетном режиме, затемвсе B в партии и, наконец, все C в партии.Прямо сейчас он пытается пакетировать только объекты типа C, если их несколько.

Это звучит правильно?Есть ли способ изменить это поведение?

Моему приложению необходимо одновременно добавлять сотни объектов типов A, B и C, и необходимость выполнять их по одному - большая проблема с производительностью.

1 Ответ

1 голос
/ 18 февраля 2010

Если кому-то понадобится какая-либо помощь, nHibernate действительно не сможет пакетно вставить объекты в разные деревья. В моем приложении я изменил структуру объекта, чтобы сделать nHibernate счастливым.

...