проблемы с именем колонки в спящем режиме

Мне было легче:

1) создать функцию, которая будет проверять, находится ли элемент где-либо в родительской иерархии другого. Что-то вроде этого (я не буду писать функцию, сделаю ее с WHILE DO):

is_related(id, parent_id);

в вашем примере

is_related(21, 19) == 1;
is_related(20, 19) == 1;
is_related(21, 18) == 0;

2) используйте подвыбор, что-то например:

select ...
from table t
join table pt on pt.id in (select i.id from table i where is_related(t.id,i.id));
20
задан lucas 17 December 2008 в 21:28
поделиться

6 ответов

Вот возможное обходное решение: если Вы называете его dateofbirth столбец в DB назвали бы как этот, но название атрибута должно быть тем же.

Будьте в спящем режиме берет формат Camel-регистра для создавания/читавшего столбцов базы данных.

У меня была эта проблема прежде. Я работал со столбцы прежней версии, где не было никакого пространства в именах столбцов "employeename", "employeerole", "departmentlocation". Я ненавижу его, потому что все мои бобовые свойства должны были быть без Camel-регистра.

Столбцы базы данных, разделенные "_", привыкнут к правильно Camel-регистру, как Вы только что видели.

9
ответ дан 29 November 2019 в 06:10
поделиться

К вашему сведению: причина вставки символов нижнего подчеркивания состоит, вероятно в том, потому что Вы используете ImprovedNamingStrategy. Это установлено на Вашем объекте Конфигурации. Посмотрите здесь для примера...

Если Вы не хотите символы нижнего подчеркивания, Вы не можете просто установить стратегию именования или установить ее на DefaultNamingStrategy, который Вы обнаружили ранее.

34
ответ дан 29 November 2019 в 06:10
поделиться

Поместите @Column аннотацию на метод считывания:

@Column(name="DateOfBirth")
public Date getDateOfBirth() {
...
}
7
ответ дан 29 November 2019 в 06:10
поделиться

Я не на 100% уверен, но разве Вы не должны аннотировать получить метод и не частную переменную?

1
ответ дан 29 November 2019 в 06:10
поделиться

Предложенное обходное решение должно было использовать @Column (имя = "dateofbirth"), который работал на мои цели.

4
ответ дан 29 November 2019 в 06:10
поделиться

Можно аннотировать или поля или методы получателя, это не имеет значения. Можно ли отправить полный файл hibernate.cfg.xml или persistence.xml?

1
ответ дан 29 November 2019 в 06:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: