Hibernate 用于处理多个DB连接的会话工厂
我的任务是为不同的数据源创建多个会话工厂。一个数据源将用于读请求,另一个用于读写请求 我们数据库服务的每个API(DAO上的包装器)都作为事务执行。单个API可以调用具有不同读/写属性的多个DAO函数Hibernate 用于处理多个DB连接的会话工厂,hibernate,spring,dao,quest,Hibernate,Spring,Dao,Quest,我的任务是为不同的数据源创建多个会话工厂。一个数据源将用于读请求,另一个用于读写请求 我们数据库服务的每个API(DAO上的包装器)都作为事务执行。单个API可以调用具有不同读/写属性的多个DAO函数 执行此任务的最佳方式是什么?我假设不同的数据源是不同的数据库。否则,您可以将readOnly属性与@Transactional注释一起使用来管理只读事务 您可以在DAO层中注入两个单独的会话工厂来管理这些事务。或者,您可以使用AbstractRoutingDataSource。我想这个话题会对你有
执行此任务的最佳方式是什么?我假设不同的数据源是不同的数据库。否则,您可以将readOnly属性与@Transactional注释一起使用来管理只读事务
您可以在DAO层中注入两个单独的会话工厂来管理这些事务。或者,您可以使用AbstractRoutingDataSource。我想这个话题会对你有所帮助。是的,不同的数据源是不同的数据库。然后您可以注入不同的SessionFactory。如果您有不同的事务管理器,那么可以使用@Transactional(“TxManagerName”)。您可以使用AbstractRoutingDataSource将这一切连接起来。但是,您是否打算在同一方法内跨不同事务性数据源工作呢?即,如果一个数据库回滚会影响另一个数据集,请考虑使用XA数据源。这非常有用。您能告诉我从一个API连接到多个DBs的优缺点吗?除此之外,这可能很幼稚,但在春季使用全局事务(XA数据源)的方式是什么?@tyro-请向上投票(单击向上箭头)/如果您对答案感到满意,请勾选勾号投票向上需要15声誉:(您能回答前面的问题吗?