在项目开发中,遇到hibernate错误:this id generator generates long, integer, short or string。
分析:该Id生成器,只能生成长整型、整型、短整型以及字符串型的Id。
解决:使hibernate 配置文件中的标识符生成器与实际的表序列类型一致。
原始配置文件:
<id name="id" type="java.math.BigDecimal">
<column name="ID" precision="22" scale="0" />
<generator class="sequence" >
<param name="sequence">SEQ_T_AUTO_CHANGENO_ID</param>
</generator>
</id>
修改后的配置文件:
<id name="id" type="java.lang.String">
<column name="ID" precision="22" scale="0" />
<generator class="sequence" >
<param name="sequence">SEQ_T_AUTO_CHANGENO_ID</param>
</generator>
</id>