Java hibernate映射类
我有一个项目,其域包含以下类:Java hibernate映射类,java,hibernate,Java,Hibernate,我有一个项目,其域包含以下类: Courier Customer Food Order Customer PrimitiveElement ResturantCustomerFacade ResturantOrderFacade 我的数据库也有这些表: Courier Customer CustomizedFood CustomizedPrimitivePrice FoodType Order PrimitiveType ValueType hibernate为上述表生成的类具有相同的名称
Courier
Customer
Food
Order
Customer
PrimitiveElement
ResturantCustomerFacade
ResturantOrderFacade
我的数据库也有这些表:
Courier
Customer
CustomizedFood
CustomizedPrimitivePrice
FoodType
Order
PrimitiveType
ValueType
hibernate为上述表生成的类具有相同的名称。
我是否应该使用hibernate在我的域中创建的类,尽管我不能应用我的类结构,因为hibernate类结构。
或者我必须使用我自己的域类,而hibernate类仅用于数据库操作?hibernate最终应该可以帮助您将对象转换为关系数据库。如果您确实遇到了不兼容类型或遗留代码的困难,您可能会考虑在接口后面隐藏它们(以及Hibernate兼容的实现)。
Hibernate应该最终帮助您的对象到关系数据库。如果遇到不兼容类型或遗留代码的困难,可能会考虑在接口后面隐藏它们(和Hibernate兼容的实现)。
Hibernate不<强> >使< /强>自身的任何类;我猜您正在谈论的是可以用来对数据库模式进行反向工程并生成适当的类/映射的方法 如果你能帮忙的话,我会建议你不要上两套课;它通常只会带来问题。相反,您应该使用Hibernate工具生成的映射/类作为参考点来编写自己的映射;在大多数情况下,您将能够将域类映射到表,而只需很少或不做任何更改(例如,通过适当的映射可以轻松解决不同的类/表或属性/列名等问题;关联/继承非常灵活,等等)。这里有一个指向文档的链接在另一个主题中,对于域对象来说,像
ResturantCustomerFacade
和resturatorderfacade
这样的名称相当奇怪。如果这些确实是你的模型的一部分,考虑将它们重命名为<代码>餐馆顾客> /代码>和<代码>餐馆订单< /代码>。或者,如果它们真的是Facade,那么它们不是域模型的一部分,不应该(不能)被映射。Hibernate本身不生成任何类;我猜您正在谈论的是可以用来对数据库模式进行反向工程并生成适当的类/映射的方法
如果你能帮忙的话,我会建议你不要上两套课;它通常只会带来问题。相反,您应该使用Hibernate工具生成的映射/类作为参考点来编写自己的映射;在大多数情况下,您将能够将域类映射到表,而只需很少或不做任何更改(例如,通过适当的映射可以轻松解决不同的类/表或属性/列名等问题;关联/继承非常灵活,等等)。这里有一个指向文档的链接
在另一个主题中,对于域对象来说,像
ResturantCustomerFacade
和resturatorderfacade
这样的名称相当奇怪。如果这些确实是你的模型的一部分,考虑将它们重命名为<代码>餐馆顾客> /代码>和<代码>餐馆订单< /代码>。或者,如果它们真的是外观,它们不是域模型的一部分,不应该(不能)映射。你的意思是我不使用反向工程并自己进行映射?哪一个更容易注释或xml映射?正如我所说,您可以使用反向工程作为起点,但您需要调整生成的映射以修复现有的域模型。注释和XML映射在复杂性上大致相当;如果您使用的是Java1.5或更高版本,我建议您使用注释。您的意思是我不使用反向工程,而是自己进行映射?哪一个更容易注释或xml映射?正如我所说,您可以使用反向工程作为起点,但您需要调整生成的映射以修复现有的域模型。注释和XML映射在复杂性上大致相当;如果您使用的是Java1.5或更高版本,我建议您使用注释。