是否可以为特定的持久类提供多个映射?

时间:2012-10-05 07:49:02

标签: java hibernate hibernate-mapping

我有一个场景,我有相同的表列,但名称不同,如TicketBookingTicketBookingHistory。我有一个pojo类TicketBooking。是否可以为此持久类提供多个映射,一个用于TicketBooking,另一个用于TicketBookingHistory?如果是这样怎么办?

由于

3 个答案:

答案 0 :(得分:1)

可以使用xml映射。 Nno通过注释实现这一目标。

答案 1 :(得分:1)

<class name="TicketBooking" table="TicketBooking"
        entity-name="TicketBooking">

</class>

<class name="TicketBooking" table="TicketBookingHistory"
        entity-name="TicketBookingHistory">
    ...
</class>

注释不支持此功能。

我认为你应该看看Mapping a class more than once。 同样的问题可以在Map Two Identical tables ( same schema...) to same entity in Hibernate中找到。

但所有这些都与xml映射一起使用。

答案 2 :(得分:0)

您可以使用类映射的entity-name属性执行此操作。检查documentation here的相同内容。

引用文档:

entity-name (optional - defaults to the class name): Hibernate3 allows a class to be mapped 
multiple times, potentially to different tables

这是同一用例的another example