Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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
Can';不能让单表继承在SpringRoo中工作。_Spring_Hibernate_Spring Roo - Fatal编程技术网

Can';不能让单表继承在SpringRoo中工作。

Can';不能让单表继承在SpringRoo中工作。,spring,hibernate,spring-roo,Spring,Hibernate,Spring Roo,我使用SpringRoo和Oracle来映射使用单表继承的继承层次结构。Roo数据库反向工程创建了这个类。我添加了@Discriminator。。。注释和继承类型 @RooDbManaged(automaticallyDelete = true) @RooJpaActiveRecord(inheritanceType = "SINGLE_TABLE", table = "MEASUREMENT", schema = "SCREENING", sequenceName = "MEASUREMENT

我使用SpringRoo和Oracle来映射使用单表继承的继承层次结构。Roo数据库反向工程创建了这个类。我添加了@Discriminator。。。注释和继承类型

@RooDbManaged(automaticallyDelete = true)
@RooJpaActiveRecord(inheritanceType = "SINGLE_TABLE", table = "MEASUREMENT", schema = "SCREENING", sequenceName = "MEASUREMENT_SEQ")
@DiscriminatorColumn(name = "DTYPE", discriminatorType = DiscriminatorType.STRING, length = 50)
@DiscriminatorValue("TEXT")
public class Measurement {
    ...
}
Roo使用

privileged aspect Measurement_Roo_DbManaged {
    ...
    @Column(name = "DTYPE", length = 50)
    @NotNull
    private String Measurement.dtype;
    ...
}
和Measurement_Roo_Jpa_Entity.aj

declare @type: Measurement: @Inheritance(strategy = InheritanceType.SINGLE_TABLE);
(如果您对Roo不太熟悉,这些位在编译之前会被折叠到主类中。)

然后我创建了子类

@Entity
@DiscriminatorValue(value="NUMERIC")
public class MeasurementNumeric extends Measurement {
    public MeasurementNumeric(Long value) {
        setNumericValue(value);
    }
}
现在,每当我启动应用程序时,它都会在上下文初始化时抛出一个BeanCreationException,这最终是由

org.hibernate.MappingException: Repeated column in mapping for entity: my.package.domain.MeasurementNumeric column: DTYPE (should be mapped with insert="false" update="false") 
    at org.hibernate.mapping.PersistentClass.checkColumnDuplication(PersistentClass.java:682)
我整天都在想这里发生了什么事,但我一事无成。我见过的唯一一次提到这个错误是有人同时在多个属性上声明@Column(name=“someName”)。但我不知道在这种情况下会发生什么

有人能告诉我发生了什么事以及如何修复它吗