Hibernate将单个类映射到多个表

时间:2013-08-19 07:02:09

标签: java database 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 个答案:

答案 0 :(得分:0)

我没有了解如何在实体中拥有确切数量的字段,但在域模型中也有一对多的关系?当用户有20个家庭成员时会发生什么? : - )

您应该定义正确的域模型,定义正确的关系,包括 parent ,其中包含家庭成员列表等字段。

此模型应该更符合您的数据库架构,包括8个表。

请注意,join-table是在数据库建模中表达继承的模式。它绝对不能将一个大类分成更多的表。 Hibernate支持完全相反的名为component的模式,它允许您在一个数据库表中存储一对一的关系。

当你以这种方式谈论模型时,也许你会对domain driven design感兴趣。