Остановить Hibernate от попытки получить рассчитанное поле из базы данных

StackOverflow https://stackoverflow.com/questions/3509031

Вопрос

У меня есть собственность бизнес -объекта, который рассчитывается. Расчет включает в себя некоторые из зарегистрированных в деталях пользователя, и поэтому не может быть представлен как простой запрос SQL.

У меня проблемы с представлением поля в картировании XML -файла Hibernate, потому что Hibernate продолжает пытаться извлечь поле из базы данных, хотя под этим именем нет столбца.

Это было полезно?

Решение

У меня проблемы с представлением поля в картировании XML -файла Hibernate, потому что Hibernate продолжает пытаться извлечь поле из базы данных, хотя под этим именем нет столбца.

Я, наверное, скучаю с чем-то очевидным, но ... почему ты сопоставляешь это поле тогда? Но на всякий случай, это может быть хорошим случаем использования для <formula> атрибут.


Поле находится в классе Java, и когда я кодирую запрос, я могу предоставить пользовательский SQL для его заполнения, например: выберите t.*, (Выберите x из Y) как поле из таблицы t, где ... Hibernate позволяет мне Затем используйте sqlquery.addentity (z.class) и создает объект соответствующим образом. Насколько я понимаю, если я полностью оставлю поле из картирования, я никогда не смогу заполнить этот атрибут через свой запрос. Я пытался :)

Я подозревал что -то подобное, но я хотел получить подтверждение. Я не думаю, что у вас здесь так много вариантов: либо используйте <formula> (будь то «тупая» формула, просто чтобы обмануть сходной) или вернуть не управляемое субъект.

Другие советы

Похоже, вы хотите, чтобы это свойство было "переходным"

<transient name="foo" />
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top