2016-06-30 4 views
0

이며, 여기에 주석의 그룹입니다 I 나는 새로운 객체를 생성 할 때마다,이 ID는 항상 0으로 설정하고, 그 때문에 내가 데이터를 유지 할 수JPA - 시퀀스에서 아이디 생성은 항상 내가 여기 저기 발견 한 것은에서 내 데이터베이스 (오라클 9i의)</p> <p>을 시퀀스에서 ID를 생성하기 위해 JPA를 사용하려고 해요 0

그러나
@Id 
@SequenceGenerator(name="PROCEDURENORMALE_SEQ_GEN", sequenceName = "PROCEDURENORMALE_SEQ") 
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator = "PROCEDURENORMALE_SEQ_GEN") 
@Column(name = "IDPROCEDURENORMALE", unique = true, nullable = false, precision = 10, scale = 0) 
private long idProcedureNormale; 

, 내 ID 변수에 설정이 맞는지. GenerationType.SEQUENCE에서 GenerationType.AUTO으로 전략을 변경하려고 시도했지만 아무 것도 변경되지 않았습니다. 이 특정 테이블의 경우 시퀀스 번호는 약 8300입니다.

어디로 잘못 됐습니까?

+0

개체를 만들 때 ID가 생성되지 않습니다. 당신이 그것을 지속 할 때 생성됩니다. –

+0

sequencenumber 생성 [Java - JPA - Generators - @SequenceGenerator] (0120) 페이지의 –

+0

을 확인하십시오. 로그는 무엇을 말합니까? –

답변

0

사실 내가 직접 노출 한 것과 관련되지 않은 문제가 실제로 해결되었습니다.

내가 계속하려고했던이 개체는 상대적으로 복잡한 객체의 일부이며, 부모 개체에서 나는 JPA 매핑 주석에 CascadeType를 추가하지 않은 :

@OneToMany(fetch = FetchType.LAZY, mappedBy = "dossier") 
private Set<Procedurenormale> proceduresNormales = new HashSet<>(0); 

다음에이 주석 변경

@OneToMany(fetch = FetchType.LAZY, mappedBy = "dossier", cascade = CascadeType.ALL) 
private Set<Procedurenormale> proceduresNormales = new HashSet<>(0);