spring + hibernate - 将实体映射到不同的数据源

时间:2012-02-20 08:55:00

标签: hibernate spring entity datasource

我的应用程序当前在其自己的数据库中处理其用户。 我正在创建一个CAS应用程序,它将集中管理我的应用程序和其他用户的用户。此CAS应用程序将使用自己的数据库,其他应用程序将可以访问它。 我为包括CAS在内的所有应用程序使用相同的hibernate实体“User”。

我的目标是能够配置应用程序在查找“用户”实体时是使用“本地”数据库还是“cas”数据库。

不必在运行时更改此配置。它可以是一个spring context xml config(或者只是一组不同的导入)。

我不想使用其他会话工厂。一旦我意识到我需要在web.xml中定义更多的open-in-session-view过滤器 - 每个工厂一个过滤器,我试图沿着这条路走下去并陷入困境。

如何根据某些配置将单个会话工厂配置为从其他数据源加载此实体(可能还有其他一些相关实体)?

2 个答案:

答案 0 :(得分:1)

您是否看过Hibernate 4中的多租户支持? http://relation.to/Bloggers/MultitenancyInHibernate

答案 1 :(得分:0)

请看一下有关动态数据源路由的blog post。它可能对你有所帮助: - )