我正在使用oracle 11g,Java(struts2)和Hibernate开发应用程序。
我有一个名为mytemp的表,其列mytemp_id为NUMBER(22,0)类型。
在我的mytemp.hbm.xml文件中,ID如下所示
MYTEMP_TEMP_ID_SEQ
在我的Oracle数据库中,创建了名为“ MYTEMP_TEMP_ID_SEQ”的序列,并在Oracle中正常工作。
现在,当我尝试使用hibernate方式插入记录时,出现以下错误
org.hibernate.id.IdentifierGenerationException:此ID生成器生成long,integer,short或string
看来,当我的序列返回Number时,hibenate将其视为BigDecimal,而hibernate的sequece生成器类仅考虑了long,integer,short和string值。
Hibernate的BigDecimal应该不会有问题。但是我认为他们还没有为序列生成器实现BigDecimal
谁能帮助我解决问题?
谢谢。