Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 休眠一个类映射到多个表_Java_Mysql_Hibernate - Fatal编程技术网

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

使用Hibernate和MySQL,我喜欢使用相同的类并存储在两个不同的表中。如何将一个类映射到多个表

我偶然发现了这条线,

建议通过XML配置为同一类使用两个不同的标识名。有人能给我一些建议吗?我应该如何在Java配置中进行这种映射?或者可以使用注释来完成吗

例如

有学生班

@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个以上的表,我想为同一程序的不同数据集创建不同的表名