¿Existe un dialecto de hibernación para Oracle Database 11g? ¿O debería usar el org.hibernate.dialect.Oracle10gDialect
que viene con Hibernate?
98
Utilice el dialecto de Oracle 10g. También se requiere Hibernate 3.3.2+ para los controladores JDBC recientes (la estructura de clases interna cambió; los síntomas se quejarán de una clase abstracta).
El dialecto de Oracle 11g es el mismo que el de Oracle 10g ( org.hibernate.dialect.Oracle10gDialect ). Fuente: http://docs.jboss.org/hibernate/orm/3.6/reference/en-US/html/session-configuration.html#configuration-optional-dialects
Según las bases de datos compatibles , Oracle 11g no es oficialmente compatible. Aunque, creo que no debería tener ningún problema al usar
org.hibernate.dialect.OracleDialect
.fuente
org.hibernate.dialect.OracleDialect
está en desuso ( docs.jboss.org/hibernate/core/3.6/javadocs/org/hibernate/… ). Debe utilizar el dialecto de Oracle 10g.Tuvimos un problema con el dialecto (obsoleto)
org.hibernate.dialect.Oracledialect
y la base de datos Oracle 11g usando elhibernate.hbm2ddl.auto = validate
modo.Con este dialecto, Hibernate no pudo encontrar las secuencias (debido a la implementación del
getQuerySequencesString()
método, que devuelve esta consulta:"select sequence_name from user_sequences;"
para lo cual la ejecución devuelve un resultado vacío de la base de datos).
El uso del dialecto
org.hibernate.dialect.Oracle9iDialect
, o mayor, resuelve el problema, debido a una implementación diferente delgetQuerySequencesString()
método:"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;"
que devuelve todas las secuencias si se ejecutan, en su lugar.
fuente
Al menos en el caso de EclipseLink 10g y 11g difieren. Desde 11g, no se recomienda utilizar la sugerencia first_rows para consultas de paginación.
Consulte "¿Es posible deshabilitar las sugerencias jpa por consulta en particular" . Esta consulta no debe utilizarse en 11g.
Pero puede haber otros matices.
fuente
Si está utilizando WL 10, utilice lo siguiente:
org.hibernate.dialect.Oracle10gDialect
fuente
use solo org.hibernate.dialect.OracleDialect Eliminar 10g, 9, etc.
fuente