0
我正在使用JPA2.0和休眠4休眠生成使用觸發器主鍵
爲了生成表中的主鍵,我使用表觸發器。如果我是 ,使用Long作爲主鍵的數據類型,則觸發器正常工作。但是,如果我使用字符串作爲主鍵 數據類型,那麼我收到以下錯誤。
org.springframework.orm.hibernate3.HibernateSystemException: Unknown integral
data type for ids : java.lang.String; nested exception is
org.hibernate.id.IdentifierGenerationException: Unknown integral
data type for ids : java.lang.String at
org.springframework.orm.hibernate3.SessionFactoryUtils.
convertHibernateAccessException(SessionFactoryUtils.java:690)
那麼是不是允許使用字符串爲主鍵生成使用觸發器的值?
我的代碼片段使用觸發
private String deptNo;
@Id
@GenericGenerator(name = "trig", strategy = "increment")
@GeneratedValue(generator = "trig")
@Column(name = "DEPT_NO")
public String getDeptNo() {
return deptNo;
}
public void setDeptNo(String deptNo) {
this.deptNo = deptNo;
}
dursun通過使用String作爲適配器類,究竟是什麼意思?你的意思是創建自定義類來生成密鑰? – user75ponic 2013-05-11 09:59:22
不,我的意思是爲當前類創建另一個對象,例如,如果您的當前類是Employee,則可以創建AdaptorEmployee,將Employees的deptNo屬性轉換爲一個字符串。 – dursun 2013-05-11 10:13:50
所以當我寫數據庫時,我應該調用AdaptorEmployee類? – user75ponic 2013-05-11 10:35:16