Java 如何为数据存储设置jndi.properties?

Java 如何为数据存储设置jndi.properties?,java,hibernate,jpa,datasource,jndi,Java,Hibernate,Jpa,Datasource,Jndi,我正在努力使用JPA/Hibernate将Java程序连接到MySQL 当我尝试调用createEntityManagerFactory()时,当前出现以下错误: 谷歌搜索似乎表明我需要类路径中META-INF中的jndi.properties文件,但我似乎找不到关于该文件在我的案例中应该包含什么的任何信息 编辑:我目前正在独立运行此程序 Ajndi.properties文件应位于类路径的根目录下,通常包含jndi服务器的URL和要使用的初始上下文工厂。例如,对于JBoss: java.nami

我正在努力使用JPA/Hibernate将Java程序连接到MySQL

当我尝试调用
createEntityManagerFactory()
时,当前出现以下错误:

谷歌搜索似乎表明我需要类路径中META-INF中的jndi.properties文件,但我似乎找不到关于该文件在我的案例中应该包含什么的任何信息


编辑:我目前正在独立运行此程序

A
jndi.properties
文件应位于类路径的根目录下,通常包含jndi服务器的URL和要使用的初始上下文工厂。例如,对于JBoss:

java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url=jnp://localhost:1099
但是,在使用Hibernate时,实际上应该在
Hibernate.cfg.xml
中声明这些属性。例如,使用WebLogic:

<property name="jndi.class">weblogic.jndi.WLInitialContextFactory</property>
<property name="jndi.url">t3://127.0.0.1:7001</property>
weblogic.jndi.WLInitialContextFactory
t3://127.0.0.1:7001

请更具体地描述您的环境。你是独立运行吗?在Servlet容器中?哪一个?如何确定“jndi.class”和“jndi.url”的值?它们取决于您的应用程序服务器及其配置。您使用的是什么应用服务器?我目前正在以独立应用程序的形式运行此应用程序。@FarmBoy然后执行查找以从JNDI获取数据源不是正确的方法。您应该使用Hibernate的独立连接池。我想知道如何做到这一点,但我已经放弃使用纯JDBC。谢谢你的努力,但我现在显然知道的还不够。
<property name="jndi.class">weblogic.jndi.WLInitialContextFactory</property>
<property name="jndi.url">t3://127.0.0.1:7001</property>