主键在oracle中是varchar2类型的,要实现递增功能,写了一个sequence,
在主键上加如下注释会出现类型转换错误,String 不能转换成Number
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="LI-GEN")
@SequenceGenerator(name="LI-GEN",sequenceName="LI_SEQ",allocationSize=1)
@Column(name = "ID", unique = true, nullable = false, length = 8)
请问这种情况怎么解决,当然不是在数据库中把主键换成Number类型,或者用varchar2的话怎么实现递增功能呢。
在主键上加如下注释会出现类型转换错误,String 不能转换成Number
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="LI-GEN")
@SequenceGenerator(name="LI-GEN",sequenceName="LI_SEQ",allocationSize=1)
@Column(name = "ID", unique = true, nullable = false, length = 8)
请问这种情况怎么解决,当然不是在数据库中把主键换成Number类型,或者用varchar2的话怎么实现递增功能呢。
<id name="mgrId" column="主键值名" type="long" length="10">
<generator class="sequence">
<param name="sequence">序列ID名</param>
</generator>
</id>
或者你自己在保存的时候 查找序列!后者并发的问题比较大不推荐!