Java 休眠一个类映射到多个表
使用Hibernate和MySQL,我喜欢使用相同的类并存储在两个不同的表中。如何将一个类映射到多个表 我偶然发现了这条线, 建议通过XML配置为同一类使用两个不同的标识名。有人能给我一些建议吗?我应该如何在Java配置中进行这种映射?或者可以使用注释来完成吗 例如 有学生班Java 休眠一个类映射到多个表,java,mysql,hibernate,Java,Mysql,Hibernate,使用Hibernate和MySQL,我喜欢使用相同的类并存储在两个不同的表中。如何将一个类映射到多个表 我偶然发现了这条线, 建议通过XML配置为同一类使用两个不同的标识名。有人能给我一些建议吗?我应该如何在Java配置中进行这种映射?或者可以使用注释来完成吗 例如 有学生班 @Entity @Table(name="Student_1") public class Student{ @Id private int StudentId; private int Stu
@Entity
@Table(name="Student_1")
public class Student{
@Id
private int StudentId;
private int StudentName;
private int studentMailId;
}
我希望有一个类似的表,表名与Student_2的字段相同。我应该如何注释并使用它保存在不同的表中?我知道这个问题很久以前就被问到了,并且已经发布了一个回复。 我想建议另一种方法,不使用任何hibernate的东西 用commun列的getter和setter方法声明一个接口,然后让您的Student_1类和Student_2类实现这个接口。
将JPA映射像往常一样留在这两个类中,然后在代码中,您可以调用此接口的方法。我知道这个问题很久以前就被问过了,并且已经发布了一个响应。 我想建议另一种方法,不使用任何hibernate的东西 用commun列的getter和setter方法声明一个接口,然后让您的Student_1类和Student_2类实现这个接口。
将JPA映射像往常一样留在这两个类中,然后在代码中,您可以调用此接口的方法。也许这不是一个选项,但您不能在DB中为此创建一个视图吗?通过这种方式,您可以在不滥用JPA的情况下相处。我可能会为其他类似的表获取不同的数据,而不仅仅是该表的副本。如果它们不同,那么为什么要将其映射到同一个实体?只需创建两个子类,并用
@MappedSuperclass
注释Student
˛类,用@Entity
和@Table
注释新类。字段相同,字段数据不同。让我检查一下是否可以使用@MappedSuperClass@MappedSuperClass,我必须继承并拥有主记录,我有15个以上的表,我想为同一个程序的不同数据集创建不同的表名,也许这不是一个选项,但您不能在DB中为此创建一个视图吗?通过这种方式,您可以在不滥用JPA的情况下相处。我可能会为其他类似的表获取不同的数据,而不仅仅是该表的副本。如果它们不同,那么为什么要将其映射到同一个实体?只需创建两个子类,并用@MappedSuperclass
注释Student
˛类,用@Entity
和@Table
注释新类。字段相同,字段数据不同。让我检查一下@MappedSuperClass@MappedSuperClass是否有可能我必须继承并拥有主记录,我有15个以上的表,我想为同一程序的不同数据集创建不同的表名