使用 Hibernate 3.3.1 和 Hibernate Annotations 3.4,数据库是 DB2/400 V6R1,在 WebSphere 7.0.0.9 上运行
我有以下课程
@Entity
public class Ciinvhd implements Serializable {
@Id
private String ihinse;
@Id
@Column(name="IHINV#")
private BigDecimal ihinv;
....
}
由于我无法理解的原因,Hibernate 忽略了指定的列名并使用 'ihinv' 生成 SQL:
select
ciinvhd0_.ihinse as ihinse13_,
ciinvhd0_.ihinv as ihinv13_,
...
这当然给了我以下错误:
Column IHINV not in table CIINVHD
编辑:我将休眠的日志级别切换为调试,我看到它不处理该字段的列注释。尝试了几个随机的东西它只是不起作用。
以前有人遇到过这个问题吗?我有其他实体在它们的数据库字段名称中使用 # 的方式非常相似,并且它们是 PK 的一部分,我对它们没有这个问题。