我正在尝试为基于hazelcast的缓存实现零样板地图存储(如这里所述),但当我将它们添加到我的地图时,我无法将任何数据保存到我的数据库中。
这就是我如何定义Hazelcast地图:
<hz:map name="foo"
<hz:map-store enabled="true"
class-name="my.package.jpa.UserDataRepository"
write-delay-seconds="1"/>
</hz:map>
...
<bean id="cacheManager" class="com.hazelcast.spring.cache.HazelcastCacheManager">
<constructor-arg ref="user-provisioning-hazelcast"/>
</bean>
<bean id="userMappingCache" factory-bean="cacheManager" factory-method="getCache">
<constructor-arg><value>foo</value></constructor-arg>
</bean>
地图似乎在工作(至少在记忆中)。
这就是我在我的网站上定义CRUD接口的方式。包裹jpa。用户数据存储库
@Repository
public interface UserDataRepository extends JpaRepository<UserData, Long>,
JpaSpecificationExecutor<UserData> {}
当我使用从该接口定义创建的bean的save
方法时,在我的任何对象上,数据都会被保存到数据库中(因此数据库连接、hibernate属性、实体定义和bean定义似乎都可以)。
但是当我将对象“放入”地图时,hazelcast从不将它们写入数据库,也从不抱怨。地图存储定义似乎被忽略了。
键与JPA对象的id相同。
任何可能出错或如何调试的线索都将不胜感激。
使用Hazelcast 2.6。
hz:map配置应在hz:config下。你也应该在外面申报地图。
是吗,你能查一下吗?
它是否将其存储在缓存中?我有一个应用程序,但应用程序中没有任何地方。属性是提到的db详细信息。我可以通过邮递员存储数据和查询它。
问题内容: 我正在创建一个基本的2D游戏(以及游戏引擎),目前正在开发数据的文件格式。当然,要运行此游戏,我将需要缓存。我发现将游戏的所有数据都放在一个文件中是非常不专业的(只要文件采用某种缓存格式,就不一定要保存在单个文件中)。 所以这就是为什么我来这里问。我当时想做一个zip文件,但我觉得那根本不是最好的方法。我也在考虑做另一个二进制写程序,该写程序将具有标题(文件的类型,“位置”)和每个文件
我需要使用spring@Cacheable注释缓存对MongoDB的调用: 不幸的是,使用@Cacheable注释接口中的任何方法都会导致以下异常: 我正在寻找一种方法来缓存对DB的调用(这相当昂贵)。有什么想法吗?
我想在存储库中使用findAll方法,但我希望它只返回具有特定值的实体。例如,我希望它只返回活动的实体=1。有办法吗? 现在,我必须为我所有的存储库编写如下内容: 我没有使用findOne方法,而是在我所有的存储库中编写: 有没有更好的方法对所有查询应用一揽子过滤器?
问题内容: Spring Boot入门级 控制器类 实体 数据jpa存储库接口 服务等级 gradle文件 我收到以下错误 如果我从中删除注释,它将抛出`NullPointerException 我在这里尝试过 问题答案: 您的Spring配置不正确。 在已经提供了依赖。当您使用特定版本声明它时: 您不必再次声明它,因为您指定的版本可能不同,并且与启动程序提供的版本不兼容。 并且根据您的错误,似乎
是否有一种方法可以使通用Spring数据JPA存储库正确处理类似的方法?例如只返回狗,而不返回所有动物?或者至少,最好的变通方法是什么? 它的工作几乎完美,保存每一个动物在自己的桌子上,等等。唯一的问题是:同时返回水豚和狗。这个答案解释说: 这只有在域类使用单表继承时才起作用。我们在引导时能得到的关于domain类的唯一信息是它将是Product对象。因此,对于像findAll()甚至findBy