栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Hibernate。ClassicQueryTranslatorFactory与ASTQueryTranslatorFactory

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Hibernate。ClassicQueryTranslatorFactory与ASTQueryTranslatorFactory

这是 内部hibernate配置 ; 它将在升级到版本3时实施 。除非有确凿的理由,否则不必担心对其进行更改
。同样,对于最新版本,我认为您需要更改其默认值。但是,如果您愿意,可以按照以下说明进行测试以提高性能。

来自 Hibernate
Core迁移指南:3.0

;

查询语言变更

新的解析器-Hibernate3带有基于ANTLR的全新HQL / SQL查询转换器。但是,Hibernate
2.1查询解析器仍然可用。可以通过设置Hibernate属性hibernate.query.factory_class来选择查询解析器。对于新的查询解析器,可能的值为org.hibernate.hql.ast.ASTQueryTranslatorFactory;对于旧的解析器,可能的值为org.hibernate.hql.classic.ClassicQueryTranslatorFactory。我们正在努力使新的查询解析器支持Hibernate
2.1允许的所有查询。

但是,我们希望许多现有的应用程序在迁移阶段都需要使用Hibernate 2.1解析器。不再支持Hibernate
1.x语法“类bar.Foo中的from f”,请使用“ from bar.Foo as f”或“ from bar.Foo
f”。不要在已命名的HQL参数名称中使用点。注意:有一个已知的错误会影响使用theta样式的外部联接的方言(例如,OracleDialect for
Oracle
8i,TimesTen方言,Sybase11Dialect)。尝试使用支持ANSI风格的联接的方言(例如Oracle9Dialect),如果遇到问题,请使用旧的查询解析器。

这是有关此问题的论坛帖子和博客帖子。

现在问您的问题;

有什么区别?为什么我们都拥有它们?

由于在更改日志中说,hibernate3个替换

ClassicQueryTranslatorFactory
ASTQueryTranslatorFactory
。这是一个内部更改,在更改破坏您的应用程序之前,无需大声疾呼用户。

在什么情况下我应该选择第一或第二?在什么情况下我不应该选择翻译之一?

默认情况下

ASTQueryTranslatorFactory
处于启用状态,仅当升级到版本3时任何查询中断时,才应考虑更改它。

再一次,它是一个过去的故事(2006年左右);hibernate的最新版本是4.1,并且查询转换器现在必须稳定。因此,有99%的人无需更改任何内容。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/435930.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号