2013-08-19 140 views
0

由于亚姆很新冬眠,Hibernate映射一个类到多个表

我想从一个HTML表单捕捉借款人的详细信息,这种形式大致有45个领域。这些表格数据必须存储在八个不同的表格中。我们有一对多关系的场景,一个借款人会有多个家庭成员,家庭成员的详细信息也以同样的形式提交。记住这一切,我想知道哪些是在hibernate xml映射中执行它的最佳方式。

我是否应该在单个类中填充所有45个字段并映射它,或者我应该为每个表单独分类并使用<joined-subclass> ...来映射它?

这是做了,当最终用户填写的所有表单数据提交,数据应该存储在所有八张桌子的最佳解决方案。

表结构

User_details, 
user_asset_details, 
user_income_details, 
user_family_members, 
user_family_details, 
user_misc_details 
+1

'这种形式大致有45 fields'你可能无法改变这一点,这是一个有点它题外话,但这种方式是对单一形式太多的领域! – benzonico

+0

最好是**不使用XML映射,而使用注释。您应该有多个与OneToOne,OneToMany和ManyToMany关联关联的实体:一个借款人拥有多个家庭成员。继承是一种关系:香蕉是一种果实。 –

+0

其实我有4个标签,每个标签包含几个字段,在下一步按钮用户的点击将被导航到下一个标签。所以最后当他在最后一个标签中提交时,它必须被存储。 – Santosh

回答

0

我没有得到你怎么能有场的确切数量内实体但也有一到多域模型中的关系?当用户有20个家庭成员时会发生什么? :-)

你应该定义正确的域模型,确定正确的关系,包括其中包含家属等名单的领域

这种模式应该更对应于您的数据库架构,包括8台。

注意join-table是表达数据库建模中的继承模式。它绝对不会把一个大类分成更多的表。 Hibernate支持命名component正好相反的模式,可以让您存储一个数据库表中的一个一对一的关系。

当你以这种方式谈及模型,也许你会感兴趣的domain driven design