当前位置: 首页 > 知识库问答 >
问题:

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

长孙智刚
2023-03-14

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

这在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个答案

戈念
2023-03-14

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

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

 类似资料:
  • 我正在尝试查找相关的JPA文档,但很难找到任何指定是否允许我创建实体的ElementCollection的内容。我知道典型的用法是将@Embedded的@ElementCollection制作成一个@ElementCollection,但由于我遇到了一个Hibernate bug,我需要将我的可嵌入类制作成它自己的实体。 我希望实体的生命周期由父类控制。因此,我希望不要为新实体创建任何DAO/存储

  • 问题内容: 有什么方法可以将Socket.IO http://socket.io/与Django 一起使用? 问题答案: 你当然可以! Django本身并不异步,因此你必须与普通的django服务器并行使用Socket.IO服务器,node.js始终不是一个不错的选择,但也存在使用纯Python编写的其他服务器。

  • 问题内容: 给定以下结构,我想执行以下SQL的HQL或CriteriaQuery等效项: 我想找回与给定人员关联的位置列表,其creationDate在给定位置之后。 提前致谢! 标记 编辑***:我已经编辑了SQL,因为这有点误导。我不想独立查询位置。 问题答案: 这是不可能的,您无法查询。从JPA Wikibook: 嵌入式收藏 的映射可以被用来定义的集合 的对象。这不是对象的典型用法,因为对

  • 我有一节课 我想使用JPA 2.0 Criteria API来搜索这些标签-但以不区分大小写的方式。因此,我想将搜索参数设置为UPPER,将列设置为UPPER(伪SQL:从p.id上的人员p连接标签t中选择p.*=t.pId其中上(t.name)=上('search chParameter');) 这是我的代码,标签上没有UPPER: 其中搜索标记是输入参数。 如何将UPPER分配给Person_

  • 我正在做一个Springboot-Kotlin-Gradle项目,我似乎遇到了记录器冲突。我正在使用一个包含的库--因此,在启动时,我得到了以下精彩消息: 我可以在或中添加一些内容吗?

  • 问题内容: 我在某处读过goole只允许提取的地方。这是否意味着不可能将org.apache.http.client.HttpClient集成到Google Appe引擎中? 如果没有,是否存在使用Google App Engine上的org.apache.http.client.HttpClient使用现有库的替代方法? 问题答案: 所以答案不是。您需要使用Google Fetch库。 从谷歌应