首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Oracle Database 11g的Hibernate方言?

Oracle Database 11g的Hibernate方言?
EN

Stack Overflow用户
提问于 2010-12-07 03:02:21
回答 6查看 224K关注 0票数 104

Oracle Database 11g是否有Hibernate方言?或者我应该使用Hibernate附带的org.hibernate.dialect.Oracle10gDialect

EN

回答 6

Stack Overflow用户

发布于 2010-12-07 03:05:42

根据supported databases的说法,Oracle11g并未得到官方支持。不过,我相信使用org.hibernate.dialect.OracleDialect应该不会有任何问题。

票数 13
EN

Stack Overflow用户

发布于 2015-01-15 17:28:21

使用hibernate.hbm2ddl.auto = validate模式的(不推荐使用的)方言org.hibernate.dialect.Oracledialect和Oracle11g数据库出现了问题。

使用此方言时,Hibernate无法找到序列(因为getQuerySequencesString()方法的实现返回以下查询:

"select sequence_name from user_sequences;"

其执行从数据库返回空结果)。

由于getQuerySequencesString()方法的不同实现,使用方言org.hibernate.dialect.Oracle9iDialect或更高版本可以解决此问题:

"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;"

如果执行,则返回所有序列。

票数 4
EN

Stack Overflow用户

发布于 2016-06-07 02:47:49

至少在EclipseLink 10g和11g不同的情况下。从11g开始,不建议对分页查询使用first_rows提示。

参见"Is it possible to disable jpa hints per particular query"。这样的查询不应该在11g中使用。

代码语言:javascript
复制
SELECT * FROM (
  SELECT /*+ FIRST_ROWS */ a.*, ROWNUM rnum  FROM (
    SELECT * FROM TABLES INCLUDING JOINS, ORDERING, etc.) a
  WHERE ROWNUM <= 10 )
WHERE rnum > 0;

但可能还有其他细微差别。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4369944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档