Я сопоставляю набор атрибутов с моей сущностью, используя @CollectionOfElements. Цель здесь - предоставить список метаданных, которые можно использовать в запросе для извлечения определенных записей.
Я разобрался с отображением и тем, как выполнять запросы, которые я хочу. Проблема в том, что hibernate не будет сохранять нулевые значения!
@CollectionOfElements()
@JoinTable(name = "plan_attribute", joinColumns = @JoinColumn(name = "plan_id"))
@MapKey(columns = @Column(name = "attribute_name", nullable = false, length = 255))
@Column(name = "attribute_value", nullable = true, length = 255)
public Map getAttributes() {
return attributes;
}
public void setAttributes(Map attributes) {
this.attributes = attributes;
}
public void addAttribute(String name, String value) {
this.attributes.put(name, value);
}
Например. object.addAttribute ("someName", null); не будет сохраняться
У кого-нибудь есть мысли о том, как этого добиться, не реализуя сущность пары ключ / значение с единственной целью сохранения этих значений?
С уважением,