Java 如何修复hibernate上的JndiException?

Java 如何修复hibernate上的JndiException?,java,hibernate,hibernate-mapping,Java,Hibernate,Hibernate Mapping,这是我在这个论坛上找到的提供会话工厂的类 但是我一直得到JndiException:Error解析JNDI名称[] public class HibernateUtil { private static SessionFactory sessionFactory = createSessionFactory(); private static ServiceRegistry serviceRegistry; public static SessionFactory createSessionF

这是我在这个论坛上找到的提供会话工厂的类 但是我一直得到
JndiException:Error解析JNDI名称[]

public class HibernateUtil {
private static SessionFactory sessionFactory = createSessionFactory();
private static ServiceRegistry serviceRegistry;

public static SessionFactory createSessionFactory() {
    Configuration configuration = new Configuration();
    configuration.configure();
    serviceRegistry = new StandardServiceRegistryBuilder().applySettings(
            configuration.getProperties()).build();
    sessionFactory = configuration.buildSessionFactory(serviceRegistry);
    return sessionFactory;
}

public static SessionFactory getSessionFactory() {
    return sessionFactory;
}
}
javax.naming.NoInitialContextException:需要在环境或系统属性中指定类名,或作为小程序参数,或在应用程序资源文件中指定类名:java.naming.factory.initial 位于javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:640) 位于javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243) 位于javax.naming.InitialContext.GetUrlOrDefaultiniticTx(InitialContext.java:280) 位于javax.naming.InitialContext.getNameParser(InitialContext.java:429) 位于org.hibernate.util.NamingHelper.bind(NamingHelper.java:52) 位于org.hibernate.impl.SessionFactoryObjectFactory.addInstance(SessionFactoryObjectFactory.java:90) 位于org.hibernate.impl.SessionFactoryImpl.(SessionFactoryImpl.java:293) 位于org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1145)
在util.HibernateUtil.(HibernateUtil.java:13)

HibernateUtil不是问题所在。您应该查看配置文件.cfg.xml并删除会话工厂标记上的名称

16:07:57,659 WARN SessionFactoryObjectFactory:98 - Could not bind factory to JNDI

致:


这是解决那个问题的快速方法。只有将SessionFactory绑定到JNDI时才需要name属性

<session-factory name=""> 
<session-factory>