Hibernate는 @ManyToOne에 대한 외래 키 제약 조건을 생성하지 않습니다.

Zakmck

Hibernate로 매핑 된 클래스가 있는데 ManyToOne 주석이 때때로 데이터베이스에서 외래 키 제약을 유발하지만 (Oracle과 H2를 모두 시도했습니다) 때로는 그렇지 않습니다.

예를 들어, 여기에서는 source_id에 대한 제약 조건이 생성되지 않습니다.

@Entity
@Table( name = "onto_entry" )
@Inheritance ( strategy = InheritanceType.SINGLE_TABLE )
@DiscriminatorColumn ( name = "term_category" )
@DiscriminatorValue ( "generic" )
@SequenceGenerator( name = "hibernate_seq", sequenceName = "onto_entry_seq" )
public class OntologyEntry extends Identifiable
{
  ...
  @ManyToOne ( targetEntity = ReferenceSource.class, cascade = {   
    CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH } )
  @JoinColumn( name = "source_id" )
  public ReferenceSource getSource ()
  ...
}

여기서 protocol_id에 대해 생성 된 FK 제약 조건을 얻습니다.

@Entity
@Table ( name = "protocol_application" )
public class ProtocolApplication extends Identifiable
{
  @ManyToOne ( cascade = {CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH}, targetEntity = Protocol.class )
  @JoinColumn ( name = "protocol_id" )
  public Protocol getProtocol ()
  ...
}

내가 뭔가 잘못하고 있니? 그러한 행동에 영향을 미칠 수있는 요소는 무엇입니까?

Zakmck

나 자신에게 대답하러 간다.

Hibernate는 create 모드가 아닌 한 Oracle에서 조인 테이블 인덱스를 생성하지 않습니다 . 그래서 저는 JPA 주석을보고 부분적으로 자동화하여 직접하기로 결정했습니다. 이것이 내가 지금까지 한 일입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Hibernate는 @ManyToOne에 대한 외래 키 제약 조건을 생성하지 않습니다.

분류에서Dev

존재하지 않는 테이블에 대한 외래 키 제약 조건을 생성 할 수있는 이유는 무엇입니까?

분류에서Dev

외래 키 제약 조건에서 참조하는 테이블을 삭제할 수 없습니다.

분류에서Dev

외래 키 제약 조건이 SQLite에서 제대로 작동하지 않습니다.

분류에서Dev

Oracle에서 외래 키 제약 조건이 작동하지 않습니다.

분류에서Dev

PSQLException "테이블에 대한 삽입 또는 업데이트가 외래 키 제약 조건을 위반합니다", "키가 테이블에 없습니다."

분류에서Dev

일반 오류 1215 : Laravel 5에 대한 외래 키 제약 조건을 추가 할 수 없습니다.

분류에서Dev

외래 키 및 하나의 조건에 대한 T-SQL 제약 조건

분류에서Dev

외래 키 및 하나의 조건에 대한 T-SQL 제약 조건

분류에서Dev

양방향 연관에서 Hibernate 외래 키 제약 조건을 어떻게 비활성화합니까?

분류에서Dev

자식 테이블의 외래 키 제약 조건은 부모 테이블에 존재하지 않는 값을 삽입 할 수 있습니다.

분류에서Dev

외래 키 제약 조건이 적용되지 않습니다.

분류에서Dev

2 개의 테이블에 대한 MySQL 오류는 외래 키 제약 조건을 추가 할 수 없습니다.

분류에서Dev

외래 키 제약 조건에 대한 조건부 CASCADE 연산?

분류에서Dev

오류 수정 : "제약 조건을 활성화하지 못했습니다. 하나 이상의 행에 널이 아닌, 고유 또는 외래 키 제약 조건을 위반하는 값이 포함되어 있습니다."

분류에서Dev

일대 다 관계에서 선택적 외래 키 제약 조건 오류를 처리하는 방법

분류에서Dev

POSTGRESQL. 테이블에 대한 삽입 또는 업데이트가 외래 키 제약 조건을 위반 함

분류에서Dev

테이블에 대한 삽입 또는 업데이트가 외래 키 제약 조건을 위반 함

분류에서Dev

INSERT가 조회 테이블에 대한 외래 키 제약 조건과 충돌했습니다.

분류에서Dev

제약 xxxxxxx는 외래 키 제약 조건이 아닙니다.

분류에서Dev

수증기는 외래 키 제약을 위반하지 않습니다.

분류에서Dev

키에 제약 조건을 두지 않고 __getitem__ 메서드를 정의하는 클래스에 대한 반복을 비활성화하는 방법이 있습니까?

분류에서Dev

MySQL에서 외래 키 제약 조건을 추가 할 수 없습니다.

분류에서Dev

phpmyadmin에서 외래 키 제약 조건을 추가 할 수 없습니다.

분류에서Dev

mysql에서 외래 키 제약 조건을 적용 할 수 없습니다.

분류에서Dev

MySQL DB가 외래 키 제약 조건을 무시하고 있습니다.

분류에서Dev

외래 키 제약 조건에 실패한 행을 건너 뛰고 실행하여 삽입

분류에서Dev

외래 키를 추가 할 때 제약 조건을 지정하면 추가되지 않습니다.

분류에서Dev

다음 SQL 명령에서 "외래 키 제약 조건을 추가 할 수 없음"오류가 발생하는 이유는 무엇입니까?

Related 관련 기사

  1. 1

    Hibernate는 @ManyToOne에 대한 외래 키 제약 조건을 생성하지 않습니다.

  2. 2

    존재하지 않는 테이블에 대한 외래 키 제약 조건을 생성 할 수있는 이유는 무엇입니까?

  3. 3

    외래 키 제약 조건에서 참조하는 테이블을 삭제할 수 없습니다.

  4. 4

    외래 키 제약 조건이 SQLite에서 제대로 작동하지 않습니다.

  5. 5

    Oracle에서 외래 키 제약 조건이 작동하지 않습니다.

  6. 6

    PSQLException "테이블에 대한 삽입 또는 업데이트가 외래 키 제약 조건을 위반합니다", "키가 테이블에 없습니다."

  7. 7

    일반 오류 1215 : Laravel 5에 대한 외래 키 제약 조건을 추가 할 수 없습니다.

  8. 8

    외래 키 및 하나의 조건에 대한 T-SQL 제약 조건

  9. 9

    외래 키 및 하나의 조건에 대한 T-SQL 제약 조건

  10. 10

    양방향 연관에서 Hibernate 외래 키 제약 조건을 어떻게 비활성화합니까?

  11. 11

    자식 테이블의 외래 키 제약 조건은 부모 테이블에 존재하지 않는 값을 삽입 할 수 있습니다.

  12. 12

    외래 키 제약 조건이 적용되지 않습니다.

  13. 13

    2 개의 테이블에 대한 MySQL 오류는 외래 키 제약 조건을 추가 할 수 없습니다.

  14. 14

    외래 키 제약 조건에 대한 조건부 CASCADE 연산?

  15. 15

    오류 수정 : "제약 조건을 활성화하지 못했습니다. 하나 이상의 행에 널이 아닌, 고유 또는 외래 키 제약 조건을 위반하는 값이 포함되어 있습니다."

  16. 16

    일대 다 관계에서 선택적 외래 키 제약 조건 오류를 처리하는 방법

  17. 17

    POSTGRESQL. 테이블에 대한 삽입 또는 업데이트가 외래 키 제약 조건을 위반 함

  18. 18

    테이블에 대한 삽입 또는 업데이트가 외래 키 제약 조건을 위반 함

  19. 19

    INSERT가 조회 테이블에 대한 외래 키 제약 조건과 충돌했습니다.

  20. 20

    제약 xxxxxxx는 외래 키 제약 조건이 아닙니다.

  21. 21

    수증기는 외래 키 제약을 위반하지 않습니다.

  22. 22

    키에 제약 조건을 두지 않고 __getitem__ 메서드를 정의하는 클래스에 대한 반복을 비활성화하는 방법이 있습니까?

  23. 23

    MySQL에서 외래 키 제약 조건을 추가 할 수 없습니다.

  24. 24

    phpmyadmin에서 외래 키 제약 조건을 추가 할 수 없습니다.

  25. 25

    mysql에서 외래 키 제약 조건을 적용 할 수 없습니다.

  26. 26

    MySQL DB가 외래 키 제약 조건을 무시하고 있습니다.

  27. 27

    외래 키 제약 조건에 실패한 행을 건너 뛰고 실행하여 삽입

  28. 28

    외래 키를 추가 할 때 제약 조건을 지정하면 추가되지 않습니다.

  29. 29

    다음 SQL 명령에서 "외래 키 제약 조건을 추가 할 수 없음"오류가 발생하는 이유는 무엇입니까?

뜨겁다태그

보관