gpt4 book ai didi

java - JPA:持久化 Map

转载 作者:行者123 更新时间:2023-12-01 04:19:55 24 4
gpt4 key购买 nike

当 String 不是映射实体的键时,您可以帮助持久保存 Map 吗?例如:

class A {

@Id
long id;

String code;
}

class B {

@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER)
@What magical combination of JPA annotations should I use here?!
Map<String,A> mapAByCode;

}

我尝试了很多 {@JoinTable,@MapKeyColumn,@JoinColumn,@JoinTable} 注释的组合,但没有成功,我快要疯了......

谢谢!

最佳答案

由于您似乎想使用 A.code 值来映射实体,因此 @MapKey 就是您所追求的。 @MapKey 允许您定义引用中的值以用作 map 的键。正如javadoc所述,它必须是唯一的,否则你会遇到问题。

  @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER)
@MapKey(name="code")
Map<String,A> mapAByCode;

关于java - JPA:持久化 Map<String,Entity>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19042593/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com