programing

Oracle Database 11g의 휴지 상태 사투리?

newnotes 2023. 3. 26. 11:44
반응형

Oracle Database 11g의 휴지 상태 사투리?

Oracle Database 11g에 Hibernate 사투리가 있나요?아니면,org.hibernate.dialect.Oracle10gDialect하이버네이트에 탑재되어 있습니까?

Oracle 10g 사투리를 사용합니다.또, 최신의 JDBC 드라이버의 경우는, 휴지 상태 3.3.2+ 가 필요합니다(내부 클래스 구조가 변경되어 추상 클래스에 관한 현상이 발생합니다).

Oracle 11g의 방언은 Oracle 10g(org.hibernate.dialect)과 동일합니다.Oracle 10g Dialect).출처 : http://docs.jboss.org/hibernate/orm/3.6/reference/en-US/html/session-configuration.html#configuration-optional-dialects

지원되는 데이터베이스에 따르면 Oracle 11g은 공식적으로 지원되지 않습니다.단, 이 기능을 사용하는 데 아무런 문제가 없을 것이라고 생각합니다.org.hibernate.dialect.OracleDialect.

사투리에 문제가 있었습니다.org.hibernate.dialect.Oracledialect및 Oracle 11g 데이터베이스 사용hibernate.hbm2ddl.auto = validate모드를 선택합니다.

이 사투리로 Hibernate는 시퀀스를 찾을 수 없었습니다(그 이유는 이 사투리의 실장 때문입니다).getQuerySequencesString()method: 다음 쿼리를 반환합니다.

"select sequence_name from user_sequences;"

실행 시 데이터베이스에서 빈 결과가 반환됩니다).

사투리 사용org.hibernate.dialect.Oracle9iDialect또는 그 이상이 문제를 해결합니다.이것은, 다른 실장에 의해서,getQuerySequencesString()방법:

"select sequence_name from all_sequences union select synonym_name from all_synonyms us, all_sequences asq where asq.sequence_name = us.table_name and asq.sequence_owner = us.table_owner;"

대신 실행되면 모든 시퀀스가 반환됩니다.

적어도 EclipseLink 10g과 11g이 다른 경우.11g이므로 페이지 지정 쿼리에 first_rows 힌트를 사용하는 것은 권장되지 않습니다.

"특정 쿼리별로 jpa 힌트를 비활성화할 수 있습니까?"를 참조하십시오.이러한 쿼리는 11g에서는 사용하지 마십시오.

SELECT * FROM (
  SELECT /*+ FIRST_ROWS */ a.*, ROWNUM rnum  FROM (
    SELECT * FROM TABLES INCLUDING JOINS, ORDERING, etc.) a
  WHERE ROWNUM <= 10 )
WHERE rnum > 0;

하지만 다른 뉘앙스가 있을 수 있습니다.

WL 10 을 사용하고 있는 경우는, 다음을 사용합니다.

org.hibernate.dialect.Oracle10gDialect

언급URL : https://stackoverflow.com/questions/4369944/hibernate-dialect-for-oracle-database-11g

반응형