存在于多个目录中的实体的Hibernate注释

Dan*_*vey 7 java orm hibernate hibernate-annotations

我有一个由Hibernate映射到数据库目录"Active"中的数据库表的Person实体.经过一段时间后,"Active"目录中此数据库表中的记录将归档/移动到数据库目录"历史记录"中表的精确副本.我需要从活动目录和历史目录中检索.有没有更好的方法来使用Hibernate注释对此进行建模,而不是创建一个2类扩展的抽象类.

这就是我现在拥有的.

@MappedSuperclass
public abstract class Person  {

    @Id
    private Integer id;
    private String name;
}

@Entity
@Table(name="Person", catalog="Active")
public class PersonActive extends Person {
}

@Entity
@Table(name="Person", catalog="History")
public class PersonHistory extends Person {
}
Run Code Online (Sandbox Code Playgroud)

Pas*_*ent 1

据我所知,这将是使用注释执行此操作的正确方法(您有两个表,因此需要两个实体)。然后对实体运行多态查询Person。顺便说一句,我发现这很干净。

PS:您能否添加有关如何使用映射文件执行此操作的指针,我真的很好奇。