방금 모든 것을 지속시키기 위해 Spring을 사용하는 프로젝트에 들어 왔습니다. id 열에는 @GeneratedValue가 사용됩니다. SQL을 사용하여 다른 데이터베이스에서 데이터를 가져 오면 자동 생성 된 값이 동기화되지 않습니다.jpa 여기서 생성 된 값은 지속됩니다/늘리는 방법
Spring을 사용하는 백엔드는 HANA Cloud Platform에서 실행되는 Java Web Tomcat 7 Server에서 실행됩니다.
누군가이 생성 된 값을 저장하는 위치와 내가 SQL을 통해 삽입 한 값보다 위에있는 ID를 사용하도록 증가시키는 방법을 알고 있습니까? 우리는 HANA 데이터베이스를 사용하고 여기에 몇 가지 코드하는이 당신을 위해 무엇을 찾고있는 희망 :
, 당신에게 tietze111
편집을 매우 친절 안부 감사
public abstract class AbstractModel<ID extends Serializable> implements Serializable {
private static final long serialVersionUID = -3275552243704225648L;
@Id
@GeneratedValue
@JsonView(View.Summary.class)
protected ID id;
[...]
EDIT 2 (더 자세한 정보는 도움이 될 지 모르겠다.) : 우리는 최대 절전 모드를 사용하고 있지만 문제는 시스템에 시퀀스가 나타나지 않는다는 것입니다. SEQUENCE라는 테이블이 있지만 고정 된 SEQ_COUNT 특성 만 있습니다. 이 값은 항상 50입니다. SEQ_NAME 속성의 값은 "SEQ_GEN"입니다. 표에는 1 개의 항목 만 있습니다. 정의가 this 인 모양입니다. 그림은 또한 순서가 없음을 보여줍니다.
해결 방법 : stackoverflow에서 this thread을 발견하고 Generation 전략을 GenerationType.TABLE로 변경했습니다. 이제 테이블의 ID를 쉽게 바꿀 수있었습니다.
어떤 데이터베이스 시스템을 사용하고 있습니까? –
그것은 발전기의 유형에 달려 있습니다. 몇 가지 코드를 게시하십시오. – dunni
게시물에 몇 가지 사항을 추가했습니다. 귀하가 원하는 내용 이었기를 바랍니다. 빠른 답변 감사합니다! – tietze111