이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 19696|회답: 2

[출처] NHIBERNATE 네이티브 주 키 생성 정책

[링크 복사]
게시됨 2017. 4. 7. 오전 10:02:04 | | |

제가 마지막으로 시스템용 Oracle 데이터베이스를 만들었을 때, 하이버네이트를 사용해 기본 키를 생성하는 전략은 SEQUENCE였는데, 그때는 매우 피곤했어요. 왜 그런지 모르겠지만, oracle+sequence+trigger가 새 데이터를 추가할 때 기본 키 값을 얻지 못했거든요.



이번에는 이 부분에 집중하겠다. 그리고 두 가지 새로운 문제가 있다,

1。 주요 키를 생성하는 최대 절전 전략 중 어느 것이 더 나은 성능을 가진다;

2。 주요 키 생성 전략은 이상적으로는 데이터베이스 간 교차 연동이어야 합니다.



모두가 성능에 대해 이야기하지만, 오라클은 시퀀스를 사용하기 때문에 기본 키는 여전히 이런 방식으로 생성되길 원합니다.

그리고 새 데이터를 반환하는 기본 키가 있습니다


원주민
기본 데이터베이스의 능력에 따라 식별자, 순서, 또는 hilo 중 하나를 선택하세요;

즉, 주요 키가 생성되며, 이는 최대 절전 상태에서 선택됩니다.


네이티브와 Denity는 모두 데이터베이스 ID 일련번호 생성 전략이며, 네이티브는 절전 모드(Native is Hibernate)를 자동으로 선택하고 생성하며, Identity는 스스로 선택, Identity는 MySQL, SQL2000 및 기타 데이터베이스 생성 방법, 그리고 Oracle 및 기타 생성 방법의 순서도 있습니다. 일반적으로 네이티브는 Hibernate에 의해 자동으로 선택됩니다

내부적으로 아이덴티티 필드를 지원하는 데이터베이스(DB2, MySQL, Sybase, MS SQL)에서는 아이덴티티 오프를 사용할 수 있습니다
핵심 단어 생성. 내부적으로 서열을 지원하는 데이터베이스(DB2, Oracle, PostgreSQL, Interbase, McKoi, SAP)를 위한 경우입니다.
DB), 시퀀스 스타일의 키워드 생성을 사용할 수 있습니다. 두 방법 모두 새로운 객체를 삽입하는 데 두 번이 필요합니다
SQL 쿼리.



온라인 정보를 더 찾아봤는데, 어디서 본 건지 모르겠어요. 이 기본 키를 생성하는 전략, 만약 mysql이라면, 그는 기본 키를 생성하는 방법을 auto_increment 선택한다고 하더군요; 오라클이라면 순서 방식을 선택하는데; 오라클 데이터베이스를 사용할 때는 Hibernate가 예약한 hibernate_sequence를 만들어야 하며, 빌드(테스트됨)하지 않으면 오류가 발생합니다.




이전의:클래스 내 정적, 비정적, 구성적 메서드의 실행 순서 요약
다음:동시 타임스탬프와 동시성 확인 구분 처리
 집주인| 게시됨 2017. 4. 7. 오전 10:02:07 |
네이티브는 타고난, 네이티브, 즉 타고난 것이다.
즉, 자동으로 생성되며 수동 지원이나 제어가 필요 없다는 뜻입니다.

할당된 수단, 할당됨.
무언가를 주지 않으면, 그는 그것을 이룰 수 없습니다.
노력이 필요하니 스스로 뭔가를 해줘야
그래서 배정된 거야
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com