Константа в файлах отображения Hibernate - PullRequest
6 голосов
/ 18 июня 2010

Я хотел бы добавить объект значения в сопоставленный класс, в котором один столбец является фиксированным, в зависимости от класса, который содержит компонент.Как я могу сделать что-то подобное?

<component name="aComponent">
  <property name="abc" column="cde"/>
  <property name="xyz" value="FIXED"/>
</component>

К сожалению, атрибут value не существует.Есть ли другой способ применить постоянное значение к свойству?

Заранее спасибо.

1 Ответ

4 голосов
/ 18 июня 2010

Вы должны использовать формулу, например,

<property name="xyz" formula="1" type="big_decimal"/>

Из Java Persistence с Hibernate, ch. 4.4.1:

Данная формула SQL оценивается каждый раз, когда объект извлекается из базы данных (и не в любое другое время, поэтому результат может быть устаревшим, если другие свойства изменены). У свойства нет атрибута столбца (или подэлемента) и никогда не появляется в SQL INSERT или UPDATE, только в SELECT s. Формулы могут ссылаться на столбцы таблицы базы данных, они могут вызывать функции SQL, и они могут даже включать подвыборы SQL. Выражение SQL передается базовая база данных как есть; это хороший шанс привязать файл сопоставления к конкретный продукт базы данных, если вы не осторожны и полагаетесь на конкретного поставщика операторы или ключевые слова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...