Oracle Database 11g是否有Hibernate方言?或者我应该使用Hibernate附带的org.hibernate.dialect.Oracle10gDialect
吗?
答案 0 :(得分:95)
使用Oracle 10g方言。最近的JDBC驱动程序也需要Hibernate 3.3.2+(内部类结构发生了变化 - 症状会引发关于抽象类的抱怨)。
Oracle 11g的方言与Oracle 10g( org.hibernate.dialect.Oracle10gDialect )相同。资料来源:http://docs.jboss.org/hibernate/orm/3.6/reference/en-US/html/session-configuration.html#configuration-optional-dialects
答案 1 :(得分:12)
根据supported databases,Oracle 11g不受官方支持。虽然,我相信使用org.hibernate.dialect.OracleDialect
时不应该有任何问题。
答案 2 :(得分:3)
我们在使用org.hibernate.dialect.Oracledialect
模式的(已弃用的)方言hibernate.hbm2ddl.auto = validate
和Oracle 11g数据库方面遇到了问题。
使用这种方言,Hibernate无法找到序列(因为getQuerySequencesString()
方法的实现,它返回此查询:
"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;"
,如果执行则返回所有序列。
答案 3 :(得分:1)
至少在EclipseLink 10g和11g的情况下有所不同。从11g开始,不建议使用first_rows提示进行分页查询。
见"Is it possible to disable jpa hints per particular query"。 不应在11g中使用此类查询。
SELECT * FROM (
SELECT /*+ FIRST_ROWS */ a.*, ROWNUM rnum FROM (
SELECT * FROM TABLES INCLUDING JOINS, ORDERING, etc.) a
WHERE ROWNUM <= 10 )
WHERE rnum > 0;
但可能还有其他细微差别。
答案 4 :(得分:0)
如果您使用的是WL 10,请使用以下命令:
$("input.class-of-your-input").prop("checked", true);
答案 5 :(得分:0)
use only org.hibernate.dialect.OracleDialect Remove 10g,9 etc.
答案 6 :(得分:0)
为 Oracle11g 数据库添加 org.hibernate.dialect.OracleDialect。 它将解决此错误。