@Entity
@Getter
@Setter
@NoArgsConstructor
public class Notification {
@Id
private String id;
private String name;
private String tags;
private String notificationType;
@ElementCollection
@MapKeyColumn(name = "notificationType")
@Column(name = "value")
@CollectionTable(name = "type_attributes", joinColumns = @JoinColumn(name = "notification_id"))
private Map<String, Object> info;
}
我应按两种类型保存信息。 我的样本是这样的:
1. If key is A
info : {"A" : "A Value"}
2. If Key is B
info : {"B" : ["Item1", "Item2"]}
所以我不知道如何解决这个问题。 请提出哪种方法好。
答案 0 :(得分:1)
尝试使用Multimap而不是Map
答案 1 :(得分:0)
如果要将不同类型的对象另存为值(例如,两者都是字符串),则可以使用数组作为值。 例如
private Map<String, Object> info;
答案 2 :(得分:0)
然后使用json。它将保持您的数据结构,并轻松获取您想要的价值。
vertical: true;
答案 3 :(得分:0)
只需使用“ Multimap”而不是“ Map”。
答案 4 :(得分:0)
我认为,解决您的问题的好方法是:
Multimap<String, String> myMultiMap = LinkedListMultimap.create();