문제

고유 한 값을 얻으려면 시퀀스를 사용해야합니다. 프로덕션 코드는 Postgres를 사용하지만 HSQLDB로 테스트 할 수 있도록 최대 절전 모드를 통해 액세스하고 싶습니다.

최대 절전 모드에서 시퀀스를 작성하고 읽으려면 어떻게해야합니까?

도움이 되었습니까?

해결책

살펴보십시오 Dialect (https://github.com/hibernate/hibernate/blob/5.0/hibernate-core/src/main/java/org/hibernate/dialect/dialect.java).

데이터베이스가 시퀀스를 지원하는지 여부를 결정하기위한 코드가 포함되어 있습니다 (supportsSequences()) 및이를 작성하고 드롭하는 메소드 ( 'getCreateseQuencestring (String SequenceName)').

불행히도, 세션에서 방언을 얻는 깨끗한 방법은 없습니다. 보다 런타임 중에 최대 절전 모드 방언을 얻는 방법

Old Answer

코드를 재사용하려고 시도 할 수 있습니다 HibernateDialect 그러나 메인 API는 이것을 제공하지 않습니다. 가장 좋은 방법은 아마도 이것을 인터페이스로 랩핑 한 다음 방언에 따라 다른 구현을 사용하는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top