Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.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 如何在Hibernate中进行继承?_Java_Database_Hibernate - Fatal编程技术网

Java 如何在Hibernate中进行继承?

Java 如何在Hibernate中进行继承?,java,database,hibernate,Java,Database,Hibernate,我有大约10个具有以下模式的表 身份证 年 代码 部分 时期 日期 地位 每个表都有一个名称data_1、data_2等。现在我想为这些表编写Hibernate映射。由于所有这些表都有相同的模式,只是名称不同,所以我编写了一个POJO文件,其中数据为super类,其他10个类都继承了它 我现在如何处理hbm文件?我是否必须为每个表编写一个hbm文件?我尝试了union子类,但不知怎么的,我没能把它做对。我在Hibernate中遇到了很多无法解释的错误 在这种情况下,如何编写Hibernate

我有大约10个具有以下模式的表

  • 身份证
  • 代码
  • 部分
  • 时期
  • 日期
  • 地位
每个表都有一个名称data_1、data_2等。现在我想为这些表编写Hibernate映射。由于所有这些表都有相同的模式,只是名称不同,所以我编写了一个POJO文件,其中数据为super类,其他10个类都继承了它

我现在如何处理hbm文件?我是否必须为每个表编写一个hbm文件?我尝试了union子类,但不知怎么的,我没能把它做对。我在Hibernate中遇到了很多无法解释的错误


在这种情况下,如何编写Hibernate映射?我是Hibernate的初学者,请注意,数据库设计的选择不在我手中。我有30种类似的等级制度

首先,您必须了解在关系数据库系统中没有继承这样的东西。但是有一些策略可以将继承结构映射到数据库

查看hibernate文档,网址为


据我所知,您的策略是“每个具体类一个表”

首先,您必须了解在关系数据库系统中没有继承这样的东西。但是有一些策略可以将继承结构映射到数据库

查看hibernate文档,网址为


据我所知,您的策略是“每个具体类的表”

首先,您需要为继承选择您想要的策略类型。有几个选择

看看这里,它描述了一点JPA中的继承。Hibernate支持JPA,因此映射应该相同,即:

但是请注意,这是EclipseLink的映射类型


P
L

首先,您需要为继承选择您想要的策略类型。有几个选择

看看这里,它描述了一点JPA中的继承。Hibernate支持JPA,因此映射应该相同,即:

但是请注意,这是EclipseLink的映射类型


P
L

我需要写多少hbm文件。。?我正在使用myeclipse。。。请根据我的要求给我一个样品。。。它只是不断抛出一个错误。。。。我想使用每个具体类层次结构的表谢谢你…我猜你的每个实体都有一个hbm.xml文件,对吗?在这种情况下,您需要将其添加到所有hbm.xml文件中。在第9.1.1节中有一个映射示例我需要写入多少hbm文件。。?我正在使用myeclipse。。。请根据我的要求给我一个样品。。。它只是不断抛出一个错误。。。。我想使用每个具体类层次结构的表谢谢你…我猜你的每个实体都有一个hbm.xml文件,对吗?在这种情况下,您需要将其添加到所有hbm.xml文件中。第9.1.1节中有映射示例
<entity name="Project" class="Project" access="FIELD">
  <table name="PROJECT"/>
  <inheritance strategy="JOINED"/>
  <discriminator-value>P</discriminator-value>
  <discriminator-column name="TYPE"/>
  <attributes>
     <id name="id"><column name="ID"/> </id>
  </attributes>
</entity>
<entity name="LargeProject" class="LargeProject" access="FIELD">
  <table name="L_PROJECT"/>
  <discriminator-value>L</discriminator-value>
</entity>