Я бы хотел отобразить только значения карты в базу данных. В приведенном ниже примере в классе Holder
есть карта идентификатора Entity, представляющая собой идентификатор a BigInteger
и сущность Item
. Я делаю это потому, что хочу быстрый поиск и хэш-карту K, V хорош для этого. Но теперь отображение странное.
JoinTable holder_items
теперь имеет 3 столбца, holder_id
. item_id
и item_KEY
. Могу ли я иметь только older_id
и item_Id
?
По сути, сопоставление только items.values()
с текущим держателем.
@Entity
public class Holder {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinTable(
name = "holder_items",
joinColumns = @JoinColumn(name = "holder_id"),
inverseJoinColumns = @JoinColumn(name = "item_id")
)
private Map<BigInteger, Item> items = new HashMap<>();
//(...)
}
@Entity
public class Item {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(columnDefinition = "BIGINT")
private BigInteger id;
//(...)
}