从oracle序列中作为Hibernate中的主键的字符串

时间:2018-03-29 07:15:52

标签: java oracle hibernate

我有一个oracle序列

CREATE SEQUENCE  HEALTH_MST_CHILD_SEQ  MINVALUE 1 MAXVALUE 9999999999 INCREMENT BY 1 START WITH 1 CACHE 2 ;

Java Class(BO)

@Entity
@Table(name="HEALTH_MST_CHILD")
public class HealthMstChild {
    @Id
    @SequenceGenerator(name="childHealthSeq",sequenceName="HEALTH_MST_CHILD_SEQ",allocationSize=1)
        @GeneratedValue(strategy=GenerationType.SEQUENCE,generator="childHealthSeq")
        @Column(name="CHILD_ID")
        private String childId;
}

Oracle Sequence生成数值,因此它会引发异常

ids的未知整数数据类型:java.lang.String

如果有任何解决方案,请帮助我。

1 个答案:

答案 0 :(得分:0)

尝试to_char功能。

E.g。 sequence_no是具有序列值的整数列:

sequence_value_char = to_char(sequence_no);

然后在代码中使用sequence_value_char