使用Hibernate 3.3.1和Hibernate標註3.4,數據庫是DB2/400 V6R1,運行在WebSphere 7.0.0.9爲什麼Hibernates會忽略@Column註釋的名稱屬性?
我有下面的類
@Entity
public class Ciinvhd implements Serializable {
@Id
private String ihinse;
@Id
@Column(name="IHINV#")
private BigDecimal ihinv;
....
}
至於原因,我想不通,休眠忽略指定的列名,而使用「ihinv」生成SQL:
select
ciinvhd0_.ihinse as ihinse13_,
ciinvhd0_.ihinv as ihinv13_,
...
這當然給了我以下錯誤:
Column IHINV not in table CIINVHD
編輯:我將hibernate的日誌級別切換到DEBUG,我看到它不處理該字段的列註釋。嘗試了幾個隨機的東西,它只是不起作用。
以前有沒有人有過這個問題?我有其他的實體非常相似,他們在他們的數據庫字段名稱中使用#並且是PK的一部分,我沒有這個問題。
在列名中使用散列是否合法?這是什麼數據庫? – cletus 2010-04-22 15:05:03
@cletus - 問題是數據庫是DB2/400。 – jsight 2010-04-22 15:09:22
@cletus - DB2/400,是的,它是合法的。 – svachon 2010-04-22 15:24:55