【发布时间】:2018-11-14 20:39:47
【问题描述】:
我是这个为我的表生成 ID 的策略:
@Entity
@Table(name="HGCTRAMITES")
@Getter
@Setter
@SequenceGenerator(name="SEQ_HGCTRAMITES", sequenceName="SEQ_HGCTRAMITES")
@ToString
public class Tramite {
我的列主键是这样的:
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SEQ_HGCTRAMITES")
private Integer codigo;
这个序列和这个表已经被其他应用程序使用了,这个表已经有数据了。
我使用的是Oracle 11g,我的方言hibernate:它是spring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect
在日志控制台中,休眠调用下一个序列的查询,但我收到错误:ORA-00001:restrição exclusiva (HELPDESK.PK_HGCTRAMITES) violada。
我的表只有 codigo 列作为主键。
为什么hibernate会搜索已经存在的id?
Hibernate:
select
seq_hgctramites.nextval
from
dual
【问题讨论】:
标签: oracle hibernate jpa spring-data spring-data-jpa