Я хотел бы добавить объект значения к отображенному классу, где один столбец фиксируется в зависимости от класса, который содержит компонент. Как я могу сделать что-то вроде этого?
<component name="aComponent">
<property name="abc" column="cde"/>
<property name="xyz" value="FIXED"/>
</component>
Unfortunatly, атрибут значения не существует. Там другой путь состоит в том, чтобы применить постоянную величину к свойству?
Заранее спасибо.
Вы должны использовать формулу, например
<property name="xyz" formula="1" type="big_decimal"/>
Из Java Persistence with Hibernate, ch. 4.4.1:
Данная формула SQL вычисляется каждый раз, когда объект извлекается из базы данных (и ни в какое другое время, поэтому результат может быть устаревшим, если другие свойства изменены). У свойства нет атрибута столбца (или подэлемента). и никогда не появляется в SQL
INSERT
илиUPDATE
, только вSELECT
s. Формулы могут ссылаться на столбцы таблицы базы данных, они могут вызывать функции SQL, и они могут даже включать подзапросы SQL. Выражение SQL передается в базовая база данных как есть; это хороший шанс привязать ваш файл сопоставления к конкретный продукт базы данных, если вы не будете осторожны и полагаетесь на конкретного поставщика операторы или ключевые слова.