有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我可以在@Embedded中使用@ElementCollection吗?

我有一个包含更多字段的可选子实体的实体。子实体也有一个元素集合

这在Hibernate中通常是不可能的,还是我遗漏了什么

@Entity @Table(name="my_entity")
public class MyEntity {
  @Id 
  private Long id;

  @Embedded 
  @JoinTable(name="..." joinColumns=@JoinColumn(name="myEntityId"))
  private OptionalFields optionalFields;
}

@Embeddable
public class OptionalFields {
   @ElementCollection
   @CollectionTable(name="...", joinColumns=@JoinColumn(name="myEntityId"))
   private List<OpeningHoursItem> openingHours;
}

@Embeddable
public class OpeningHoursItem {

}

错误消息是:

Could not determine type for: java.util.List, at table: my_entity, for columns: [org.hibernate.mapping.Column(opening_hours)]

共 (1) 个答案

  1. # 1 楼答案

    这听起来可能很奇怪,但它确实有效:

    将所有注释从字段移动到getter,错误就会消失