Oracle10g 使用空id(id=0)保留的新实体

Oracle10g 使用空id(id=0)保留的新实体,oracle10g,hibernate-4.x,Oracle10g,Hibernate 4.x,我正在使用Hibernate 4.3.11。 我拥有以下实体: @Entity @Table(name="ESP_RETARD") public class ESP_RETARD implements Serializable { private static final long serialVersionUID = 1L; @Id @SequenceGenerator(name = "pk_seqret", sequenceName = "ESP_RETS_SEQ1

我正在使用Hibernate 4.3.11。 我拥有以下实体:

@Entity
@Table(name="ESP_RETARD")
public class ESP_RETARD implements Serializable
{
    private static final long serialVersionUID = 1L;

    @Id
    @SequenceGenerator(name = "pk_seqret", sequenceName = "ESP_RETS_SEQ1", allocationSize = 1)
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "pk_seqret")
    @Column(nullable = false)
    @NotNull
    private long idRetard;
我试图在ESP\u delay上保留一个新实体

但是,我遇到了一个问题:添加了一个新实体,但是,它的id为0

第二次添加新的时,我遇到了以下异常:

javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException:无法 执行语句

原因:org.hibernate.exception.ConstraintViolationException:可能 不执行语句

原因:java.sql.SQLException:ORA-00001:唯一约束 (EDTINGA.SYS_C009525)违反

知道:当我使用:

  • 冬眠3 , 我不明白这个问题
  • 但当我升级到Hibernate 4.3.11时,我遇到了这个例外
==>所以这是jar的问题,我想它丢失的jar必须添加到Hibernate 4.3.11

你对解决那个问题有什么想法吗?。
非常感谢,先生。

您可以尝试删除整个实体,然后使用id的新表名和新列名重新创建它

不要忘记更改
@SequenceGenerator
@GeneratedValue
上的提名

实际上,既不需要使用
@Column(nullable=false)
也不需要使用
@NotNull

    @Id
    @SequenceGenerator(name = "pk_seqret1", sequenceName = "RETS_SEQ1", allocationSize = 1)
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "pk_seqret1")
    private long idRetard;