问题标签 [hibernate-5.x]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 在 Hibernate 5 JPA 中:我需要在运行时添加一个带注释的类,但仅适用于特定的 PU
我有一个项目,我正在从 3.6 迁移到 Hibernate 5,我想在运行时动态添加一些带注释的实体类。我发现 MetadataSourcesContributor 确实允许添加类 - 但我找不到确定当前正在处理哪个持久性单元的方法。该项目有两个独立的 PU,只需将新类添加到第二个。
java - Hibernate Criteria 查询在生成的 SQL 中以错误的顺序列出表
我有一个使用多个连接的 Criteria 查询,生成的 SQL 将表乱序列出,以便 ON 子句引用尚未声明的表。
为了重现这个问题,我创建了一个包含三个表的小型数据模型:Bill、Event 和一个联结表 BillEvent(我在问题的末尾列出了一个带有实体定义的可运行 JUnit 测试)。以下 Criteria 查询因语法错误而失败,因为event1
它是在引用后声明的。如何重写此查询以便以正确的顺序声明表?
错误:
使用 Hibernate 5 和 H2 的 JUnit 测试:
编辑:这里的问题似乎是 Hibernate按其属性名称的字母顺序枚举表。因此,如果有以下联接:
生成的订单将是
重命名BillEvent.bill
为BillEvent.zBill
(或按字母顺序排列之后的任何内容event
)可修复此查询中的语法错误。但是,这是不可扩展的:如果您想从联结表的另一端进行查询,该查询将失败,因为它现在按字母顺序乱序。
java - jboss 服务启动失败
在部署到 jbosss 7.2.final 期间,ear 项目收到以下错误异常:
当我在文件中将休眠 3 升级到休眠 5 时发生此错误pom.xml
。
日志文件中的所有异常
请看一下并为我提供解决方案
hibernate - Hibernate 5 隐式命名策略
我想使用休眠 5.x。在 hibernate 5.x 中有新的接口ImplicitNamingStrategy
和PhysicalNamingStrategy
.
name
对于实体的属性,User
我想user_name
在我的数据库中有一个列名。我不想用@Column(name="...")
. 我尝试编写自定义ImplicitNamingStrategy
,但无法获取拥有实体的名称。
有没有办法通过仅使用 NamingStrategy 为每一列添加表(或实体)名称的前缀?
spring - 将 hibernate-seach-orm 添加到 POM 后的 AbstractMethodError
我将 Hibernate ORM 与 Spring 一起使用,并想添加 Hibernate Search:
我的 POM 文件的摘录:
这是堆栈跟踪:
有关此处的其他信息,我的配置:
我的研究告诉我,一定有版本不匹配。但是我无法识别/验证这一点。
如果我删除
一切正常。
非常感谢任何帮助或进一步的见解!谢谢
spring - 带有 Spring JTA 的休眠 5
我在用:
- 休眠 5.0.2
- 春天 4.2
- Atomikos 3.9.3
官方文档说你只需要设置jtaTransactionManager,一切正常:
不幸的是,会话没有被刷新——没有写入发生。问题是什么?
hibernate - Hibernate:表生成器在表中插入负主键
我正在使用表生成器策略来生成主键。最近我升级到 Hibernate 5,我遇到了主键生成负值的问题。数据库:PostgreSQL 9.3,休眠 5.0.2
这是我的注释的样子。
有人可以帮我吗?
java - 会话和工厂是否应该关闭?
我正在使用带有数据源连接的 Hibernate 5.0.2.Final(在 Tomcat 8.0.15 上),并开始问自己是否不仅需要关闭 Session,还需要关闭 SessionFactory?
现在它看起来像这样:
hibernate.cfg.xml 中的一些细节
还有 HibernateUtil:
我不确定是否有必要在 finally 块中调用此方法,而不是仅关闭会话:
java - 升级到 Hibernate 5.0.2 后的性能问题 - Tomcat 服务器启动时间增加
将 Hibernate 版本从 4.3.9.Final 升级到 5.0.2.Final 后,Tomcat Server 的启动时间增加了。
调试后,我意识到 hibernate 在其元数据源中添加映射位置(*.hbm.xml 文件)需要花费太多时间。
我使用以下代码在会话工厂中添加了映射位置,在我的项目中大约有 1000 个 hbm.xml 文件。
在启动 tomcat 服务器时,我在方法中进行了调试和发现
跟随 for 循环在配置类的元数据源对象中添加所有映射位置需要太多时间。
这里有什么提高性能的解决方案吗?升级到 Hibernate-5 后有人注意到这个问题吗?
jsp - Hibernate-Cache 在页面刷新时导致 org.hibernate.service.UnknownServiceException
我正在使用 Hibernate 5.0.2.Final 并希望对慢速数据库中的表使用缓存。第一次它通常可以工作,但是当我刷新页面时,我遇到了错误。根据配置,我还会遇到几个错误或根本没有错误,或者只是简单加载而根本没有任何结果。
配置是根据教程或 Github 上的代码,它也使用了 Hibernate 5。我感觉问题可能出在新的 Hibernate 版本上,但也许我做错了什么。
如果我得到一个 Stacktrace 并且第一个加载过程有效,它会在这里失败:
2015 年 10 月 21 日 17:19:22.585 严重 [http-nio-8084-exec-78] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [jsp] 在上下文中与路径 [/Buran ] 抛出异常 [在第 26 行处理 JSP 页面 /filter/Arbeitspreise/Arbeitspreisliste.jsp 时发生异常
23:24:25:26:27:
28:29:
$(document).ready(function() {Stacktrace:] 根本原因是 org.hibernate.service.UnknownServiceException:在 org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:184) 处请求未知服务 [org.hibernate.cache.spi.RegionFactory]。 hibernate.cfg.Settings.getRegionFactory(Settings.java:300) 在 org.hibernate.internal.SessionFactoryImpl$SessionBuilderImpl.openSession(SessionFactoryImpl.java:1322) 在 org.hibernate.internal.SessionFactoryImpl.openSession(SessionFactoryImpl.java:677)在 arbeitspreisliste.Arbeitspreislistenhibernate.getFullArbeitspreisGruppenverwaltungloaded(Arbeitspreislistenhibernate.java:68) 在 org.apache.jsp.filter.Arbeitspreise.Arbeitspreisliste_jsp._jspService(Arbeitspreispreisjavaliste_jsp.java:109) 在 org.apache.jasper.runtime.HttpJspBase.service(HttpJsp :70) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:725) 在 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) 在 org.apache.jasper.servlet.JspServlet.serviceJspFile (JspServlet.java:396) 在 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:725) 在 org.apache.catalina。 core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java: 52) 在 org.apache.catalina.core.ApplicationFilterChain 的 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)。doFilter(ApplicationFilterChain.java:206) 在 org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在 filter.SessionCheckFilter.doFilter(SessionCheckFilter.java:114) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239 ) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) 在 org.apache.catalina.core.StandardContextValve 的 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)。在 org.apache.catalina.authenticator 调用(StandardContextValve.java:106)。AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org .apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter .java:537) 在 org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658) 在 org.apache.coyote. http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222) 在 org.apache.tomcat.util.net。NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1556) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1513) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:第1142章.run(Thread.java:745)在 java.lang.Thread.run(Thread.java:745) 处运行(TaskThread.java:61)在 java.lang.Thread.run(Thread.java:745) 处运行(TaskThread.java:61)
我正在使用以下 hibernate.cfg.xml (我必须为德国人的名字道歉)。如您所见,我使用的是 Tomcat 8-Server 提供的数据源:
关于 ehcache.xml,有一件事让我很困扰。像这样使用它只会导致我遇到的香草错误:
但是根据我能找到的信息,我应该将它与这些条目一起使用,对吧?
但是这样做会使所有其他Hibernate-Commands 无法运行......
这些类工作得很好,所以我只是添加第一个的标题,它们看起来几乎一样......
我的 Java-Bean getFullArbeitspreisGruppenverwaltungloaded 只是加载所有记录,将它们转换为所需的字符串并关闭会话......
有时也会发生根本没有任何工作的情况,Hibernate 只是加载和加载,直到连接被挂起。我的库的版本与 pom.xml 中的一样: