¿Hay un dialecto Hibernate para Oracle Database 11g? ¿O debería usar el org.hibernate.dialect.Oracle10gDialect
que se envía con Hibernate?Dialecto Hibernate para Oracle Database 11g?
Respuesta
Usa el dialecto Oracle 10g. También se requiere Hibernate 3.3.2+ para los controladores JDBC recientes (la estructura interna de la clase ha cambiado; los síntomas serán gimoteos sobre una clase abstracta).
Dialecto de Oracle 11g es el mismo que 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
De acuerdo con supported databases, Oracle 11g no es oficialmente compatible. Aunque, creo que no debería tener ningún problema al usar org.hibernate.dialect.OracleDialect
.
Mente que 'org.hibernate.dialect.OracleDialect' está en desuso (http://docs.jboss.org/hibernate/ core/3.6/javadocs/org/hibernate/dialect/OracleDialect.html). Deberías usar el dialecto Oracle 10g. – Yonatan
Oracle 11 ahora es compatible – MJB
Como @MJB señaló Oracle 11 es compatible. La parte que falta es: es compatible con org.hibernate.dialect.Oracle10gDialect class [link] (http://docs.jboss.org/hibernate/orm/3.6/reference/en-US/html/session-configuration.html # configuration-optional-dialects) (también se aplica a ananea 4.x) – bmichalik
Tuvimos un problema con el dialecto (obsoleto) org.hibernate.dialect.Oracledialect
y la base de datos Oracle 11g utilizando el modo hibernate.hbm2ddl.auto = validate
.
Con este dialecto Hibernate no pudo encontrado las secuencias (debido a que la implementación del método getQuerySequencesString()
, que devuelve esta consulta:
"select sequence_name from user_sequences;"
para los que la ejecución devuelve un resultado vacío de base de datos).
Usando el dialecto org.hibernate.dialect.Oracle9iDialect
, o mayor, resuelve el problema, debido a una implementación diferente de getQuerySequencesString()
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 ejecuta, en lugar.
Si está utilizando WL 10 usa la siguiente:
org.hibernate.dialect.Oracle10gDialect
Al menos en el caso de EclipseLink 10g y 11g diferir. Desde 11g no se recomienda utilizar first_rows hint para consultas de paginación.
Ver "Is it possible to disable jpa hints per particular query". Dicha consulta no debe usarse en 11g.
SELECT * FROM (
SELECT /*+ FIRST_ROWS */ a.*, ROWNUM rnum FROM (
SELECT * FROM TABLES INCLUDING JOINS, ORDERING, etc.) a
WHERE ROWNUM <= 10)
WHERE rnum > 0;
Pero puede haber otros matices.
uso exclusivo org.hibernate.dialect.OracleDialect Quitar 10g, 9, etc.
Esto no proporciona una respuesta a la pregunta. Una vez que tenga suficiente [reputación] (https://stackoverflow.com/help/whats-reputation) podrá [comentar cualquier publicación] (https://stackoverflow.com/help/privileges/comment); en su lugar, [brinde respuestas que no requieran aclaración del autor de la pregunta] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-do-instead). - [De la crítica] (/ review/low-quality-posts/18711257) – diceler
Esto también fue sugerido por "darioo", pero lea el comentario de @Yonatan en su respuesta. –
- 1. Dialecto en Hibernate
- 2. ¿Se requiere ODP.NET para Oracle 11g Client?
- 3. Oracle 11g Express Edition para Windows 64bit?
- 4. Primeros pasos con Oracle Database
- 5. LIMIT/OFFSET en Oracle 11G
- 6. contraseñas predeterminadas de Oracle 11g?
- 7. Controladores JDBC de Oracle Database 11g: ¿Cuántos archivos? ¿Qué quieren decir?
- 8. ¿Cómo se genera mi id con JPA utilizando Hibernate con el dialecto Oracle 10g?
- 9. ORACLE 11g caso insensible por defecto
- 10. Error con "Comenzar" en Oracle Express 11g
- 11. NHibernate TransactionScope problema con Oracle 11g
- 12. Oracle 11g declaraciones para crear nuevos usuarios y otorgar privilegios?
- 13. Generación de secuencia de grises para Oracle 11g
- 14. ¿La consulta funciona con Oracle 10g pero no con 11g?
- 15. Configuración del tiempo de espera de la sesión Oracle 11g
- 16. Java: Hibernate no ve cambios en DataBase
- 17. Oracle Database Change Notification y ROWID
- 18. USE DATABASE en SQL PLUS ORACLE 11gr1
- 19. tema dialecto de Hibernate con la configuración de la primavera
- 20. Hibernate 3.6: registerFunction en el dialecto SQL que no trabaja
- 21. Oracle 11g Cliente que se conecta a ambas bases de datos 10g y 11g
- 22. Función SQL personalizada para el dialecto NHibernate
- 23. Oracle Char type e Hibernate
- 24. Oracle 11g: Índice no utilizado en "select distinct" -query
- 25. Oracle 11g CREAR VISTA utilizando CONNECT BY y varias tablas
- 26. Cómo activar el esquema hr en Oracle 11g
- 27. TopLink 11g versus EclipseLink
- 28. ¿Cómo crear una base de datos pequeña y simple usando Oracle 11g y SQL Developer?
- 29. Oracle: ¿un cliente de Oracle 10g trabaja con un servidor 11g?
- 30. Configurar Hibernate para escapar de subrayado en la cláusula como el uso de dialecto SQL Server
Desafortunadamente no ayuda con "ORA-01754: una tabla puede contener solo una columna de tipo LONG". –
Tengo un problema con la función reservada específica INTERVALO .. por ejemplo, "@Formula (" SYSDATE - INTERVALO '1' HORA * SHOW_LIMIT_HOURS ")". No sé si podría generar algún problema, pero parece ser una buena solución: http: // stackoverflow.com/a/26907699/1488761 –