Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.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/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
Java Hibernate不会通过Hibernate.hbm2ddl.auto创建@Embeddeble类的列_Java_Hibernate_Jpa - Fatal编程技术网

Java Hibernate不会通过Hibernate.hbm2ddl.auto创建@Embeddeble类的列

Java Hibernate不会通过Hibernate.hbm2ddl.auto创建@Embeddeble类的列,java,hibernate,jpa,Java,Hibernate,Jpa,正如您在本主题中所看到的,我为每个单元类型提供了可嵌入类。 我有一个实体A,定义如下 @Entity @Table(name = "class_x") @PrimaryKeyJoinColumn(name = "class_x_id") public class ClassX { /** * */ private static final long serialVersionUID = -4924441463209260247L; public ClassX () { sup

正如您在本主题中所看到的,我为每个单元类型提供了可嵌入类。 我有一个实体A,定义如下

@Entity
@Table(name = "class_x")
@PrimaryKeyJoinColumn(name = "class_x_id")
public class ClassX  {
/**
 * 
 */
private static final long serialVersionUID = -4924441463209260247L;

public ClassX  () {
    super();
}

@Column
private String name;


/** rated Apparent Power. */
@Embedded
@AttributeOverrides({
        @AttributeOverride(name = "value", column = @Column(name = "aColumn_value")),
        @AttributeOverride(name = "unit", column = @Column(name = "aColumn_unit")),
        @AttributeOverride(name = "multiplier", column = @Column(name = "aColumn_multiplier"))
})
private Temperature aColumn;
/** Reference short circuit voltage. */
@AttributeOverrides({
        @AttributeOverride(name = "value", column = @Column(name = "bColumn_value")),
        @AttributeOverride(name = "unit", column = @Column(name = "bColumn_unit")),
        @AttributeOverride(name = "multiplier", column = @Column(name = "bColumn_multiplier"))
})

private Percentage bColumn;
}


我将hibernate配置为使用create-drop从实体创建表。如果创建了class_x表,它只有class_x_id和name列。未创建可嵌入对象的列。我找不到与此相关的任何问题/解决方案。

问题与我的可嵌入类定义有关。我使用的是继承的可嵌入对象。这在JPA中不起作用。现在,我已经将基本抽象单元定义为MappedSuperClass。超类是可嵌入的。因此,可嵌入对象继承自@mappedsuperclass。事实上,我读到Jpa也不支持这一点。但它现在可以工作。

在JPA提供商启动时检查日志。记住要正确设置日志级别。