Liferay中的第三方组件:数据库持久层 Hibernate

本文介绍了Liferay如何集成Hibernate作为其数据持久层组件,并详细解释了配置细节,包括dialect和query factory的选择,以及如何避免与WebLogic的冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Liferay是个很成功的开源项目,其中用到了大量的第三方组件。

组件列表来自
[url]http://wiki.liferay.com/index.php/Liferay_Dependencies[/url]


Hibernate[url]http://www.hibernate.org/ [/url]在liferay中作为数据持久层组件,所有persistence包中都使用hibernate。

Liferay中hibernate配置在portal.properties的hibernate段中。
其中hbm文件默认为位置在
META-INF/counter-hbm.xml,META-INF/mail-hbm.xml,META-INF/portal-hbm.xml,META-INF/ext-hbm.xml

特别要注意的是:

dialet=com.liferay.portal.spring.hibernate.DynamicDialect
此dialet使用hiberante中的DialectFactory.determineDialect(dbName, dbMajorVersion)动态判断
如果采用比较特殊的数据库,可以将dialet替换成实际使用的数据库方言。

hibernate.query.factory_class=org.hibernate.hql.classic.ClassicQueryTranslatorFactory
该设置是为了避免同weblogic中的ANTLR版本冲突。
[quote] #
# Use the classic query factory until WebLogic and Hibernate 3 can get
# along. See http://www.hibernate.org/250.html#A23 for more information.
#[/quote]
使用ClassicQueryTranslatorFactory不能在代码中使用hibernate3的新式hql,比如delete语句。
如果不用weblogic,可以将此设置改为
hibernate.query.factory_class=org.hibernate.hql.ast.ASTQueryTranslatorFactory

hibernate session在spring中bean名字为
liferaySessionFactory
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值