Отсутствует столбец с подчеркиванием при попытке использовать Hibernate для сопоставления поля даты
У меня есть класс JPA TableXXX, который содержит следующее поле:
@Column(name = "CreatedOn")
@NotNull
private Date createdOn;
Когда я компилирую и разворачиваю свое приложение, оно выдает ошибку:
Caused by: org.hibernate.HibernateException: Missing column: created_on in TABLEXXX
Я использую Hibernate 3.5.5 и Oracle 10g. столбец CreatedOn хранится в базе данных как метка времени. Почему Hibernate добавляет подчеркивание между "создан" и "вкл"?
1 ответ
Решение
Дважды проверьте, что вы не используете собственную стратегию именования, отличную от стратегии по умолчанию для EJB3. Пользовательская стратегия именования будет объявлена с использованием hibernate.ejb.naming_strategy
собственность (может быть в persistence.xml
или программно, в зависимости от того, как вы используете JPA).
Рекомендации
- Справочное руководство по Hibernate EntityManager
- Справочное руководство по Hibernate