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>