【发布时间】:2017-03-29 21:41:45
【问题描述】:
我想构建一个应用程序,其中我使用相同的 Hibernate 对象但使用多个 Hibernate 属性文件。例如,人 1 可能只想要表 1 上的第 1-3 列,而人 2 想要表 1 上的第 1,5-6 列。
如何根据用户动态加载不同的配置(如果人 1 正在使用应用程序或人 2)?这可能吗?
谢谢!
【问题讨论】:
标签: java hibernate hql lazy-loading dto
我想构建一个应用程序,其中我使用相同的 Hibernate 对象但使用多个 Hibernate 属性文件。例如,人 1 可能只想要表 1 上的第 1-3 列,而人 2 想要表 1 上的第 1,5-6 列。
如何根据用户动态加载不同的配置(如果人 1 正在使用应用程序或人 2)?这可能吗?
谢谢!
【问题讨论】:
标签: java hibernate hql lazy-loading dto
您不需要为此使用不同的映射文件。您可以在代码级别处理此问题。您可以在项目中引入对象到实体,反之亦然。
根据登录的用户,您只能获取/设置这些字段。
例如:
if (user.equals(user1)) {
domainObj.setColumn1(entityObject.getColumbn1);
domainObj.setColumn2(entityObject.getColumbn2);
domainObj.setColumn3(entityObject.getColumbn2);
}
if (user.equals(user2)) {
domainObj.setColumn1(entityObject.getColumbn1);
domainObj.setColumn2(entityObject.getColumbn2);
domainObj.setColumn3(entityObject.getColumbn3);
domainObj.setColumn4(entityObject.getColumbn4);
domainObj.setColumn5(entityObject.getColumbn5);
}
【讨论】: