请教关于ignite与mybatis整合的问题

悦队 发布于 01/25 10:49
阅读 314
收藏 0

@李玉珏 你好,想跟你请教个问题:李玉珏老师你好,我是一名大学生,我最近想将 ignite 运用在我自己的项目中,将ignite 作为 mysql 与服务器之间的缓存区,通过读写 ignite 来操作数据,利用 ignite 对 RDBMS 的支持,用 mysql 来做持久化,将我的业务完全与 mysql 脱离。  我进行了尝试,但是发现两个问题:
(1)ignite 将数据自动导入缓存之后,把我的数据库表分成了很多 Cache,每个表是一个 Cache。当我尝试用 mybatis 直接操作ignite时,发现无法直接将原来写在 mybatis xml 中的 sql 使用到 ignite 中,而是必须在每个 sql 的表名前加上Cache的名字,才可以查询。例如:select * from "UsersCache".users limit 5; 我觉得这样不太好,有没有方法能让我直接做转移,而不对以前的 sql 进行修改。
(2)我也进行了事务测试,因为我的项目是 spring boot 框架,我直接使用了 @Transactional 注解,但经过我的测试,无法做到回滚。官方文档提到,对 sql 事务的支持必须在 TRANSACTIONAL_SNAPSHOT 模式之下,网上却不给出与 mybatis 集成的例子。谷歌上的基本都是指把 ignite 做为 mybatis 的二级缓存,相关内容实在是少。所以我不知道是不是我这种用法有问题,还是 ignite 目前对 sql 事务支持还是很鸡肋。

还请您赐教,感谢~

加载中
0
李玉珏
李玉珏

1.如果不想写这个模式名,嫌麻烦
可以通过调用setSqlSchema("PUBLIC")方法,这样就和普通SQL写法一样了

2.https://liyuj.gitee.io/doc/java/Key-ValueDataGrid.html#_3-8-3-多版本并发控制

如果使用JDBC,除了缓存的配置,其他和普通数据库事务处理没啥区别,你为什么有问题,我不清楚。

返回顶部
顶部