Java Spring JPA单_表继承不起作用-子类的表不存在

Java Spring JPA单_表继承不起作用-子类的表不存在,java,spring,inheritance,spring-data-jpa,single-table-inheritance,Java,Spring,Inheritance,Spring Data Jpa,Single Table Inheritance,我试图将Spring JPA继承用于我的实体。下面是我用于这些类的注释的代码片段。该应用程序基于Spring Boot v2.2.2.0版本 @Entity @Inheritance(strategy = InheritanceType.SINGLE_TABLE) @DiscriminatorColumn(name = "entityType", discriminatorType = DiscriminatorType.STRING) @Getter @Setter @NoArgsConstr

我试图将Spring JPA继承用于我的实体。下面是我用于这些类的注释的代码片段。该应用程序基于Spring Boot v2.2.2.0版本

@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "entityType", discriminatorType = DiscriminatorType.STRING)
@Getter
@Setter
@NoArgsConstructor
public class RmlAction extends RmlBase {
//attributes
}
子类: RmlEfsAction.java

@Entity
@Getter
@Setter
@DiscriminatorValue("EFS")
@Table(name = "rml_actions")
@DiscriminatorColumn(name = "entityType", discriminatorType = DiscriminatorType.STRING)
@NoArgsConstructor
public class RmlEfsAction extends RmlAction {
//no attribute
//only constructor
}
@Entity
@Getter
@Setter
@DiscriminatorValue("PROJECT")
@Table(name = "rml_actions")
@DiscriminatorColumn(name = "entityType", discriminatorType = DiscriminatorType.STRING)
@NoArgsConstructor
public class RmlProjectAction extends RmlAction {
//no attribute
//only constructor
}
RmlProjectAction.java

@Entity
@Getter
@Setter
@DiscriminatorValue("EFS")
@Table(name = "rml_actions")
@DiscriminatorColumn(name = "entityType", discriminatorType = DiscriminatorType.STRING)
@NoArgsConstructor
public class RmlEfsAction extends RmlAction {
//no attribute
//only constructor
}
@Entity
@Getter
@Setter
@DiscriminatorValue("PROJECT")
@Table(name = "rml_actions")
@DiscriminatorColumn(name = "entityType", discriminatorType = DiscriminatorType.STRING)
@NoArgsConstructor
public class RmlProjectAction extends RmlAction {
//no attribute
//only constructor
}
服务器启动正常,但当我尝试输入数据时,在获取RmlEfsAction的实体时会出现以下错误。感谢您在确定问题方面提供的任何帮助

Caused by: org.hibernate.DuplicateMappingException: Duplicate table mapping rml_actions
    at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.addDenormalizedTable(InFlightMetadataCollectorImpl.java:758)
    at org.hibernate.cfg.annotations.TableBinder.buildAndFillTable(TableBinder.java:499)
    at org.hibernate.cfg.annotations.EntityBinder.bindTable(EntityBinder.java:670)
    at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:603)
获取实体的代码:

RmlEfsAction dbAction = (RmlEfsAction) actionRepository.getOne(rmlAction.getId());

没有“以下错误”@Nicktar添加了错误的详细信息。错误非常清楚。您是否有表
rml\u action
?如果没有,请将
@Table(…)
添加到
RmlAction
以将其指向正确的表。您只需要在super上添加Discriminator列class@SimonMartinelli-我修改了密码。