论坛首页 Java企业应用论坛

关于 Hibernate 的一点想法

浏览 11430 次
该帖已经被评为精华帖
作者 正文
   发表时间:2003-09-18  
一点不成熟的想法:
Hibernate 或者 JDO 充其量也就是一个 ORM。开源运动的好处是提供了一大批可供选择的产品,大多具有小而精的特点。但是真正解决企业的复杂问题是否一个 ORM 就够了呢?解决企业问题还是需要一个完整的框架。是否将很多开源软件组合就能得到这样的一个框架?我的答案是否定的。Eclipse 的框架在它还没有开源很多年前就已经固定下来了。
EJB、Struts、JDO、Hibernate 都是很好的东西,但是这些东西解决的还不是企业应用的核心问题。企业应用的核心问题还是要靠数据仓库、数据挖掘这些技术来解决的。OLTP 是比较好做的,但是我们比较关心的还是 OLAP。
应用 Hibernate 这类技术要放到一个更大的企业应用的背景下去考虑。需求驱动技术的应用和发展,不结合企业应用的需求,空谈技术是没有意义的。

我并没有用过 Hibernate,算是班门弄斧了。
   发表时间:2003-09-18  
对你说的很对,Dlee你搜索一下我的帖子,我印象中我在精华版有帖子谈这个问题的,就是Hibernate只不过是JDBC的对象轻量级封装而已,要把它放在J2EE整体的架构中来进行评价。

http://hibernate.fankai.com/viewtopic.php?t=241
0 请登录后投票
   发表时间:2003-09-26  
dlee,我不太同意你的看法,反过来我倒觉得OLAP好作,OLTP难作。至于企业的核心问题到底是靠谁来解决,我觉得怎么着也不可能是数据仓库数据挖掘能解决的了的
0 请登录后投票
   发表时间:2003-09-26  
关于什么是企业的核心问题,每个人有自己不同的看法,争论下去并没有太大意义。我的判断是这样,企业的管理层最关心的问题也就是企业的核心问题。OLTP 的用户一般是普通的操作员,他们只了解企业局部很少的信息。他们的工作是日常的事务性处理,所访问的数据量也是少量的。OLAP 的用户则是企业的商务人员(所谓的“知识工人”),也就是企业的管理层。他们的工作是全局的策略性的,所要访问的数据量是巨大的。
如果以这个标准来判断,显然数据仓库/数据挖掘所要解决的是企业更核心的问题,而且管理层所需要的数据也完全不是靠简单的抽取程序从操作型数据库中抽取就可以满足要求的。
数据仓库/数据挖掘并不是包治百病的灵丹妙药。至少在目前,银弹还没有出现。
0 请登录后投票
   发表时间:2003-09-27  
robbin 写道
对你说的很对,Dlee你搜索一下我的帖子,我印象中我在精华版有帖子谈这个问题的,就是Hibernate只不过是JDBC的对象轻量级封装而已,要把它放在J2EE整体的架构中来进行评价。

http://hibernate.fankai.com/viewtopic.php?t=241



robbin是支持的是用sessionbean来调用hibernate而不是脱离ejb来使用hibernate么?
顺便问问,用sessionbean来调用hibernate可以使用jboss做为服务,如果hibernate脱离的ejb,那么如何把hibernate作为服务或者说如何让它与jboss结合起来呢?
0 请登录后投票
   发表时间:2003-09-27  
引用
robbin是支持的是用sessionbean来调用hibernate而不是脱离ejb来使用hibernate么?


Hibernate比较灵活,你可以把它看做类似JDBC的东西,所以放在哪里用都没有问题。我强烈反对不能在EJB环境中使用Hibernate的这种FUD言论。

引用
如果hibernate脱离的ejb,那么如何把hibernate作为服务或者说如何让它与jboss结合起来呢?


配置到JNDI上。
0 请登录后投票
   发表时间:2003-09-27  
robbin 写道

引用
如果hibernate脱离的ejb,那么如何把hibernate作为服务或者说如何让它与jboss结合起来呢?


配置到JNDI上。

有详细一点的如何把hibernate配置在jboss的文章么?
thanks!
---------------------------------
我是如下做的:把hibernate打成sar包,包中的jboss-server.xml如下:
<server> 
<mbean code="net.sf.hibernate.jmx.HibernateService" name="jboss.jca:service=HibernateFactory, 
name=HibernateFactory"> 
<depends>jboss.jca:service=RARDeployer</depends> 
<depends>jboss.jca:service=LocalTxCM,name=jdbc/Demo</depends> 
<!-- Make it deploy ONLY after DataSource had been started --> 
<attribute name="MapResources">META-INF/User.hbm.xml META-INF/Device.hbm.xml</attribute> 
<attribute name="JndiName">java:/hibernate/HibernateFactory</attribute> 
<attribute name="Datasource">java:/jdbc/demo</attribute> 
<attribute name="Dialect">net.sf.hibernate.dialect.MySQLDialect</attribute> 
<attribute name="TransactionStrategy">net.sf.hibernate.transaction.JTATransactionFactory</attribute> 
<attribute name="TransactionManagerLookupStrategy">net.sf.hibernate.transaction.JBossTransactionManagerLookup</attribute> 
<attribute name="UseOuterJoin">true</attribute> 
<attribute name="ShowSql">false</attribute> 
<attribute name="UserTransactionName">java:/UserTransaction</attribute> 
</mbean>


sar在jboss发布正常。
但是当我用含有main函数的java 类调用它的时候类中下面这段走不过)。
SessionFactory factory = (SessionFactory) ctx.lookup("java:/hibernate/HibernateFactory");
我是调用方法有问题么?
0 请登录后投票
   发表时间:2003-09-28  
同意dlee的观点, 在一个企业应用中, 必须把成熟,稳定的技术, 产品通过"设计模式"的思想集合起来,才能发挥作用.
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics