Java 要插入的表是在运行时决定的,所有可能的表都有不同的字段

Java 要插入的表是在运行时决定的,所有可能的表都有不同的字段,java,hibernate,database-design,object-oriented-analysis,system-design,Java,Hibernate,Database Design,Object Oriented Analysis,System Design,我们有一个父类型,比如说业务部门(如航空、国防)的名称,基于部门,我们有动态表格,要求提供特定于部门的数据,提交时我们需要将该数据存储在航空表中(因为用户选择了航空),航空表的字段与国防或生物技术表的字段不同 我们希望利用java中的设计原则和反射来避免锅炉板代码,并使其尽可能动态 我们还使用hibernate,因此我们需要动态地以valueObject VO结束,这样我们就可以调用 session.save(dynamicSectorVO); 另外,为了了解可能的锅炉板的规模,我们有26个这

我们有一个父类型,比如说业务部门(如航空、国防)的名称,基于部门,我们有动态表格,要求提供特定于部门的数据,提交时我们需要将该数据存储在航空表中(因为用户选择了航空),航空表的字段与国防或生物技术表的字段不同

我们希望利用java中的设计原则和反射来避免锅炉板代码,并使其尽可能动态

我们还使用hibernate,因此我们需要动态地以valueObject VO结束,这样我们就可以调用

session.save(dynamicSectorVO);
另外,为了了解可能的锅炉板的规模,我们有26个这样的父类型(这里的扇区)


任何有帮助的想法都会受到赞赏。

利用设计原则和反思:通常,设计原则避免反思。valueObject VO:Hibernate不保存值对象。它保存实体。实体可以使用继承,也可以与其他实体关联,所以这不应该是一个问题。这不应该是一个问题,但仍然不能避免我们设置所有26个实体,然后为每个实体编写DAO(每个扇区的字段都不同),我们正在寻求更多的解决方案,谢谢你的光临。不,你不需要为每一把刀。正如我所说,继承是受支持的。session.save(foo)将保存foo,无论foo是基本foo实体的实例,还是它的任何子实体。好的,将进行尝试。谢谢你