如何为延迟加载工作多个Hibernate属性文件?

时间:2017-03-29 21:41:45

标签: java hibernate hql lazy-loading dto

我想构建一个应用程序,我使用相同的Hibernate对象,但使用多个Hibernate属性文件。例如,人1可能只需要表1中的列1-3,而人2则需要表1中的列1,5-6。

如何根据用户动态加载不同的配置(如果第1人正在使用应用或人2)?这可能吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

您不需要不同的映射文件。您可以在代码级别处理此问题。您可以在项目中引入Object to Entity和反之亦然转换层。

根据您登录的用户,您只能获取/设置这些字段。

例如:

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);
    }