Apakah ada dialek Hibernate untuk Oracle Database 11g? Atau haruskah saya menggunakan org.hibernate.dialect.Oracle10gDialect
kapal dengan Hibernate?
98
Gunakan dialek Oracle 10g. Juga Hibernate 3.3.2+ diperlukan untuk driver JDBC terbaru (struktur kelas internal berubah - gejala akan mengeluh tentang kelas abstrak).
Dialek Oracle 11g sama dengan Oracle 10g ( org.hibernate.dialect.Oracle10gDialect ). Sumber: http://docs.jboss.org/hibernate/orm/3.6/reference/en-US/html/session-configuration.html#configuration-optional-dialects
Menurut database yang didukung , Oracle 11g tidak didukung secara resmi. Meskipun, saya yakin Anda seharusnya tidak memiliki masalah dalam menggunakan
org.hibernate.dialect.OracleDialect
.sumber
org.hibernate.dialect.OracleDialect
ditinggalkan ( docs.jboss.org/hibernate/core/3.6/javadocs/org/hibernate/… ). Anda harus menggunakan dialek Oracle 10g.Kami mengalami masalah dengan dialek (usang)
org.hibernate.dialect.Oracledialect
dan database Oracle 11g menggunakanhibernate.hbm2ddl.auto = validate
mode.Dengan dialek ini Hibernate tidak dapat menemukan urutan (karena penerapan
getQuerySequencesString()
metode ini, yang mengembalikan kueri ini:"select sequence_name from user_sequences;"
yang mana eksekusi mengembalikan hasil kosong dari database).
Menggunakan dialek
org.hibernate.dialect.Oracle9iDialect
, atau lebih besar, memecahkan masalah, karena penerapangetQuerySequencesString()
metode yang berbeda :"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;"
yang mengembalikan semua urutan jika dieksekusi.
sumber
Setidaknya dalam kasus EclipseLink 10g dan 11g berbeda. Sejak 11g, tidak disarankan untuk menggunakan petunjuk baris pertama untuk kueri penomoran halaman.
Lihat "Apakah mungkin untuk menonaktifkan petunjuk jpa per kueri tertentu" . Kueri seperti itu tidak boleh digunakan dalam 11g.
Tapi mungkin ada nuansa lain.
sumber
Jika Anda menggunakan WL 10 gunakan yang berikut ini:
org.hibernate.dialect.Oracle10gDialect
sumber
gunakan hanya org.hibernate.dialect.OracleDialect Hapus 10g, 9 dll.
sumber