为tomcat

时间:2015-05-26 09:09:43

标签: hibernate tomcat hibernate-mapping

大家好,我一直在尝试配置我的应用程序以使用Hibernate ORM,但我遇到了JNDI属性规范的挑战,因为我无法为tomcat指定“hibernate.jndi.class”,我一直收到错误应用程序尝试配置hibernate(“javax.naming.NoInitialContextException:需要在环境或系统属性中指定类名,或者在applet参数中指定类名,或在应用程序资源文件中指定:java.naming.factory.initial”< / b>)。

我想知道是否有人在tomcat上成功使用JNDI配置,如果是这样,我希望有人分享hibernate.cfg.xml文件。下面我发布了我当前的hibernate.cfg.xml文件。

提前致谢。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory  name="HibernateSessionFactory">
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
        <property name="hibernate.connection.datasource">java:comp/env/jdbc/TestDB</property>
        <property name="hibernate.current_session_context_class">thread</property>
        <property name="hibernate.connection.username">root</property> 
		<property name="hibernate.connection.password">inheritance</property> 
        
        <!-- Mapping with model class containing annotations -->
    <mapping resource="user.hbm.xml"/>
    </session-factory>
</hibernate-configuration>

1 个答案:

答案 0 :(得分:0)

您好我会尝试回答这个问题,因为我有类似的问题,并且还有 NoInitialContextException ,并且我删除了会话工厂的名称属性就像你的情况一样

<session-factory  name="HibernateSessionFactory">

<session-factory>

所以hibernate创建自己的SessionFacade并且​​不会尝试使用JNDI中的一个 但它也可能需要改变DAO。