hibernate映射类

时间:2009-08-27 18:41:35

标签: java hibernate

我有一个项目,它的域包含以下类:

Courier
Customer
Food
Order
Customer
PrimitiveElement
ResturantCustomerFacade
ResturantOrderFacade

我的数据库也有这些表:

Courier
Customer
CustomizedFood
CustomizedPrimitivePrice
FoodType
Order
PrimitiveType
ValueType 

和hibernate为上表创建的类具有相同的名称。 我应该使用hibernate在我的域中创建的类,虽然由于hibernate类结构我不能应用我的类结构。 或者我必须使用自己的域类,而hibernate类只用于数据库操作?

2 个答案:

答案 0 :(得分:1)

Hibernate本身不会制作任何类;我猜你在谈论Hibernate Tools,它可用于对数据库模式进行逆向工程并生成适当的类/映射。

如果你能提供帮助,强烈建议你反对拥有两套课程;它通常只带来问题。您应该使用Hibernate Tools生成的映射/类作为参考点编写自己的映射;在大多数情况下,您可以将域类映射到表中,只需要很少或不需要更改(例如,通过适当的映射可以轻松解决不同类/表或属性/列名称之类的内容;关联/继承非常灵活等等。 ..)这是Hibernate Annotations文档的链接。

在单独的主题上,ResturantCustomerFacadeResturantOrderFacade等名称对于域对象来说相当奇怪。如果这些确实是您模型的一部分,请考虑将其重命名为RestaurantCustomerRestaurantOrder。或者,如果它们确实是外观,则它们不属于域模型,不应该(不能)映射。

答案 1 :(得分:0)

Hibernate最终应该帮助您map 对象关联到关系数据库。如果你真的遇到了不兼容类型或遗留代码的困难,你可以考虑将它们(和你的hibernate兼容的实现)隐藏在接口后面。