在我们的应用程序上进行负载测试时,我注意到,如果您使用@Transactional和@Cacheable注释,则hibernate将始终创建数据库事务。有防止这种情况的简便方法吗?在Spring中解决此问题的一种更巧妙的方法是拥有以下类/接口
发生了以下情况
通话1:
通话2:
首选结果应为:
通话1:
通话2:
您需要更改@Transactional
和@Cacheable
方面的相对顺序。
可以使用和的order
属性进行配置。有关订单值的含义,请参见8.2.4.7建议订购。<tx:annotation-driven>``<cache:annotation- driven>
问题内容: 目前,我正在使用带有@Transactional批注的DriverManagerDataSource来管理事务。但是所有事务都非常非常慢,这可能是因为数据源每次都打开和关闭与db的连接。 我应该使用什么数据源来加快交易速度? 问题答案: 实际上不是连接池,只能用于测试。您应该尝试使用Apache Commons DBCP 。就像是:
问题内容: 在我的应用程序中,我使用了hibernate-core-4.1.8 jar,并希望将ehCache用作第二级缓存。我当前使用的jar是ehcache- core-2.5.0。我将其放置在WebContetn / WEB-INF / lib文件夹中,并将其放置在类路径中。 我的hibernate.cfg.xml看起来像这样: 放置在JavaResources / src文件夹中的ehca
问题内容: 我正在使用hibernate处理spring项目,并希望使用ehcache实现二级缓存。我看到了许多解决方法: 引入注释 一个旨在成为继任者的工具集。 可以很好地集成到休眠本身中,以使用例如注释进行缓存。 使用代理。基于注释的配置迅速变得有限或复杂(例如,注释嵌套的多个级别) 就我个人而言,我认为还不够彻底,因此我可能更愿意考虑发展得更为积极。尽管这似乎是最完整的实现(例如,读取和写入
问题内容: 我正在使用Java 2 ee开发Web应用程序。我也使用hibernate和MySQL。为了还原备份文件,在我的应用程序中的某个点上,我需要删除当前数据库并重新创建它,我按如下操作: 删除并重新创建后,我需要使用默认用户(Spring Security用户)初始化数据库 但在最后一行应用程序抛出此异常 我知道hibernate在启动时会创建表,但是在这种情况下,它在drop / rec
我在ID号中包含姓名数据以及许多关联值。它看起来像这样: 我想创建名称的所有组合,不管有多少个,并将它们粘贴在一起,用逗号分隔,并在每个id中求其编号和值的总和。上述示例的预期输出为: 谢谢大家!
问题内容: 是否可以仅对hibernate-search的注释(bean => document / document => bean mapping)使用hibernate-search,而不使用数据库?如果是这样,是否有任何在线样本基本上显示了如何进行设置? 我发现了以下内容:http : //mojodna.net/2006/10/02/searchable-annotation-drive