2009-06-04 196 views
1

该设置是一个典型的MVC J2EE应用程序,带有用于数据访问的DAO。在休眠中加载类型实体

有许多类型实体,例如Product bean有一个ProductType成员bean,两者都保留。

当我持久化Product bean时,我想用ProductType信息填充它。我有状态码,但是是否必须到数据库检索整个ProductType bean,才能使用类型数据填充产品?有没有处理这种类型信息情况的模式?

我不希望每个类型都有单独的DAO,但是如果我必须明确地拉它们(例如不是通过Product隐式地),那么我将需要一个DAO。

选项?谢谢!

回答

1

ProductTypes是动态的吗?也就是说,你是否希望在未来增加更多的类型?如果是这种情况,那么无论如何你都需要一个类型为DAO的DAO。

据我所知,您将不得不从数据库中加载ProductType实例,将其添加到您希望保留的产品,然后保存该产品。

如果类型的数量不是动态的,那么你可以考虑一个枚举,而不是将它们持久化到你的数据库。但是,根据我的经验,类型往往是动态的。即使你今天只能想到两种可能的产品类型,明天的管理层也会想要另一种类型的产品。

所以我建议你为ProductType编写DAO。

+0

是的类型足够动态不使用枚举。 这是一个可惜的创造额外的道数,但我想这是不可避免的。 谢谢。 – bowsie 2009-06-04 15:04:14