0
我想构建一个应用程序,我使用相同的Hibernate对象,但使用多个Hibernate属性文件。例如,人1可能只想在表1的列1-3,而人要2上表1如何使用多个休眠属性文件进行延迟加载?
列1,5-6如何动态地加载不同的配置(如果人1是使用应用或人2)取决于用户?这可能吗?
谢谢!
我想构建一个应用程序,我使用相同的Hibernate对象,但使用多个Hibernate属性文件。例如,人1可能只想在表1的列1-3,而人要2上表1如何使用多个休眠属性文件进行延迟加载?
列1,5-6如何动态地加载不同的配置(如果人1是使用应用或人2)取决于用户?这可能吗?
谢谢!
为此,您不需要不同的映射文件。您可以在代码级别处理此问题。您可以在项目中引入对象到实体,反之亦然。
根据哪些用户登录您只能获取/设置这些字段。
对于前:
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);
}
如果我不想创建自定义domainObj除非是同一个?即使它是相同的,我可以不做手动映射吗?它不能自动映射吗?因为遵循你的建议,我会需要每个用户的setter。 – shaselai
您的dominObj(DTO)只是实体的副本。您可以为所有类型的用户使用相同的域Obj。我的建议只是将你正在考虑的“各种hibernate映射”移动到代码中。可以有一种方法来在Hibernate中维护不同的映射文件。 – yogidilip
对于每类用户,您都需要以上逻辑。 – yogidilip