我目前仍然坚持看似非常简单的问题,但我似乎无法找到方法:
我有2个相同的表:
两者中的字段是相同的,我有一个类 - Transaction用于表示表中的所有适当字段.
我正在尝试将两个不同的实体(每个表一个)映射到上面的类.在旧世界中,我已经创建了两个hbm.xml文件,每个文件对应一个表并将它们映射到Transaction.然后,我将在持久性期间使用实体名称,以确保对象在正确的表中持久化,具体取决于具体情况.
我正在尝试使用当前的注释来实现相同的目标但到目前为止在将2个实体映射到单个类时没有运气.这有可能吗?
我目前正在使用不同的方法,因为我已经将所有公共字段(相同的列名称)提取到一个@MappedSuperClass并且已经创建了两个单独的类(每个实体一个)从超类扩展(这些类只有相同的具有不同列名的字段(如果适用).
我有一个由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) 我有table1和table2具有相同的模式...我想只有一个实体而不是两个(因为字段将是相同的).我如何在使用XML映射的hibernate中实现这一点.所以我的目标是当我在DAO中查询时,如果两个表都映射到同一个实体,它将如何知道要从哪个表中获取.
我试图不创建父类,然后创建两个子类.
谢谢