将一个实体管理器注册到这个范围可以正常工作。
如果我将“java:app”前缀从会话工厂名称中删除,它就可以绑定到JNDI中,但在全局范围内。我明白我可以强加某种名称间距,但我希望我不必这样做。
任何投入都将不胜感激。谢谢你。
<persistence-unit name="myPU" transaction-type="JTA">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<jta-data-source>java:/jdbc/MyDS</jta-data-source>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<mapping-file>MySchema.hbm.xml</mapping-file>
<properties>
<property name="jboss.entity.manager.jndi.name" value="java:app/em/MY_EM" />
<property name="hibernate.session_factory_name" value="java:app/sessions/my_FACTORY"/>
<property name="hibernate.query.imports" value="com.my.model" />
<property name="hibernate.current_session_context_class" value="thread" />
<property name="hibernate.use_outer_join" value="true" />
<property name="hibernate.jdbc.use_streams_for_binary" value="true" />
<property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect" />
</properties>
</persistence-unit>
由:javax.naming.NameNotFoundException:java:app引起
Hibernate的完整警告异常
我可能找到了答案...
虽然这不完全是我想要的答案。但是,这是有道理的。Hibernate的JNDI绑定机器人找不到java:app
子上下文的原因是,我认为,它试图在根查找该名称,但它不存在于根中。另一方面,JBoss/Wildfly在部署应用程序时似乎有一些隐式上下文,实际上是JNDI树中applications/
下的java:app
。Hibernate对此结构一无所知。
我修改了我的实现,即在JNDI树的根部按应用程序名称组织这些会话工厂绑定,如下所示:
hib > myApp > sessions > MY_SESSION_FACTORY
1. 前言 Hibernate 的核心价值观是:开发者们!做你们应该做的。脏的、累的、没技术含义的由本尊来做。 本节课和大家一起好好的聊聊 Hibernate 的核心组件之一:会话工厂(SessionFactory)。 通过本节课,你将学习到: 会话工厂的设计要求; 会话工厂的核心功能。 2. 会话工厂的作用 原生 Jdbc 开发如同自己炒菜做饭,需经手买菜、洗菜、做菜……一系列过程。 基于 Hi
问题内容: 我在Hibernate 4中生成会话工厂时遇到问题。在Hibernate 3中,我很简单地做到了: 现在,我需要将ServiceRegistry类传递给buildSessionFactory,但是Javadocs对如何执行此操作非常含糊。有小费吗? 问题答案: 是的,他们已经弃用了先前的buildSessionFactory API,并且做起来很容易..您可以执行类似的操作。 编辑 :
我尝试使用HikariCP池连接,但我无法启动应用程序,因为我一直在创建sesion中获取空对象。 这是我的配置: 系统 Hibernate4.3.6。最终 MariaDB v10.0(x64) HibernateUtil类 hibernate.cfg.xml 日志 正在准备使用过滤器构建会话工厂:{}hh000130:实例化显式连接提供程序:org.mariadb.jdbc。应用程序启动方法中的
问题内容: 有谁知道如何获取由Spring Boot创建的Hibernate SessionFactory的句柄? 问题答案: 您可以使用以下方法完成此操作: 其中,entityManagerFactory是一个JPA 。
我的Hibernate查询SessionFactory sessionFactory=new Configuration(). confiure(). buildSessionFactory(); sess=sessionFactory.openSession()有问题;我在每个函数中都调用它,我如何避免它只创建一次sessionFactory
我在我的程序中使用Hibernate注释,但它出错了。它没有返回我打开的会话工厂。我使用了netbean IDE,当我调试我的程序时,它想打开一个会话,下一步,它会转到,而不做任何其他事情。 这是我的文件夹。 在此输入图像描述 这是我的hibernate util 是我的类得到了会话工厂,但是得到了错误 然后在下一步之后也去上这门课 在此输入图像描述