我有一个包含以下字段的 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 在 'created' 和 'on' 之间添加下划线?
最佳答案
仔细检查您是否没有使用除 EJB3 默认命名策略之外的自定义命名策略。自定义命名策略将使用 hibernate.ejb.naming_strategy
属性声明(可以在 persistence.xml
中或以编程方式声明,具体取决于您使用 JPA 的方式)。
引用文献
- Hibernate EntityManager 引用指南
- Hibernate 核心引用指南
关于oracle - 尝试使用 Hibernate 映射日期字段时缺少包含下划线的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4141836/