[英]Web app with multiple projects using Java EE and Hibernate
我有一个一般的设计问题,现在困扰了一段时间。
目标:
现在的情况
问题
可以想象,存在各种问题:
思想
我希望我可以在代码中的任何位置注入/使用正确的DAO Factory实例(可以访问正确的会话/数据库),而无需例如逻辑层知道加载了哪个当前数据库。 因此,逻辑层不应该关心会话处理或其他任何事情。 我只想从任何地方进行xyDAO.find(id)或类似的调用,即可获取正确的数据库。 我还认为,如果只有一个逻辑深层的类需要SessionManager通过构造函数将SessionManager传递给多个类,那就不好了。
您将采取什么方法实现所述目标?
如果有人可以提供帮助,我将不胜感激。 如果您需要其他信息,请告诉我,我会提供!
您是否对要求和解决方案感到困惑?
每个项目的数据必须分开(放入不同的数据库中)
是否真的有要求您拥有不同的数据库,还是仅仅是每个项目的数据都必须分开 ?
如果不是绝对需要不同的数据库,只需将user_id
列添加到足够的表中,这样您就可以为所有用户使用相同的表,但仍然可以满足此要求。
您可以将这种方法称为垂直而不是水平划分数据。
好处应该立即显而易见:突然之间,您的解决方案变得简单得多,这是一件好事。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.