[求助]关于整合JBoss和Hibernate的配置问题

06-03-17 stormTT
按照网上的资料如下配置,但是还是有错,谁能帮帮我!

1。创建hiberate-ds.xml文件,我觉得这个文件主要用于创建cardiac_dbds数据源:

<?xml version="1.0" encoding="UTF-8"?>
<datasources>
  <local-tx-datasource>
    <jndi-name>cardiac_dbds</jndi-name>
		<connection-url>jdbc:mysql://localhost:3306/cardiac_db</connection-url>
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <user-name>root</user-name>
    <password>root</password>
  </local-tx-datasource>
</datasources>
<p>

2。创建cardiac_ds.har(Jboss4自动识别),包括一个配置文件和一些hibernate mapping 文件。配置文件如下:

<server>
<mbean code="org.jboss.hibernate.jmx.Hibernate" name="jboss.adminguide:name=CardiacSessionFactory">
<attribute name="DatasourceName">java:/cardiac_dbds</attribute>
<attribute name="Dialect">
org.hibernate.dialect.MySQLDialect
</attribute>
<attribute name="SessionFactoryName">
hibernate/SessionFactory
</attribute>
<attribute name="CacheProviderClass">
org.hibernate.cache.HashtableCacheProvider
</attribute>
<attribute name="ShowSqlEnabled">true</attribute>
</mbean>
</server>
<p>

启动Jboss,似乎一切正常。

然后在我的java代码里面如此调用:

InitialContext ctx = new InitialContext();
SessionFactoryImpl factory = (SessionFactoryImpl)ctx.lookup
               ("hibernate/SessionFactory");
Session session = factory.openSession();
<p>

出现空指针异常,factory为空。

谁知道哪出了问题吗?

banq
2006-03-20 11:46
JNDI名称应该是java:/cardiac_dbds吧?

stormTT
2006-03-20 15:02
java:/cardiac_dbds是datasource在jndi中的名字,不是sessionfactory的名字。

而我在java代码中是从jndi树上lookup sessionfactory的对象,所以我觉得应该还是hibernate/SessionFactory

stormTT
2006-03-20 15:04
而且我在启动JBoss时,后台有一条这样的信息:

[SessionFactoryObjectFactory] Not binding factory to JNDI, no JNDI name configured

SessionFactoryObjectFactory是做啥用的?

stormTT
2006-03-22 20:05
没人知道吗?

猜你喜欢
2Go 1 2 下一页