如何绘制地图

如何绘制地图,第1张

如何绘制地图

好吧,错误消息很清楚:

Double
不是实体。如果要映射基本元素的集合,请使用
CollectionOfElement
批注(来自Hibernate)或
ElementCollection
批注(来自JPA
2.0)。

因此,假设您使用的是Hibernate Annotations 3.4,请尝试以下 *** 作:

@CollectionOfElements(targetElement = Double.class)@org.hibernate.annotations.MapKey(targetElement = String.class)Map data;

或者,使用泛型时:

@CollectionOfElementsMap<String, Double> data;

如果您使用的是Hibernate Annotations 3.5+,则更喜欢JPA 2.0注释:

@ElementCollection(targetClass = Double.class)@MapKeyClass(String.class)Map data;

或者,使用泛型时:

@ElementCollectionMap<String, Double> data;
参考文献
  • Hibernate注释3.4参考指南
    • 2.4.6.2.2。地图
    • 2.4.6.2.5。元素或复合元素的集合
  • JPA 2.0规范
    • 第11.1.12节“ ElementCollection批注”
    • 第11.1.28节“ MapKeyClass注释”

您知道如何自定义“ ELEMENT”和“ MAPKEY”列名称吗?

您可以完全自定义结果。我认为以下示例展示了所有内容:

@CollectionOfElements(targetElement = Double.class)@JoinTable(name = "COLLECTION_TABLE",     joinColumns = @JoinColumn(name = "PARENT_ID"))@org.hibernate.annotations.MapKey(targetElement = String.class,     columns = @Column(name = "SOME_KEY"))@Column(name = "SOME_VALUE")private Map data;
  • 的收集表名称
    Map
    是使用定义的
    JoinTable
    • 父级键的列名称是使用
      JoinColumn
      中的设置的
      JoinTable
  • 映射键的列名称在
    MapKey
  • 映射值的列名称是使用定义的
    Column


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5462750.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存