Mapowanie mapy

0

Cześć Wam.
Prośba o wsparcie… Mam taką tablicę,w której jest @CollectionTable, do której chcę się dostać...

@Getter
@Setter

public class Mp {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "mp_id", updatable = false, nullable = false)
private Long id;

@ElementCollection(fetch = FetchType.LAZY)
@MapKeyColumn(name="name")
@Column(name="value")
@CollectionTable(name="mp_attributes", joinColumns=@JoinColumn(name="mp_id"))
private Map<String, String> mojamapa = new HashMap<>();

}

Chcę teraz przymapować coś tylko do kolumny "name".. (Chce zrobić "set name" tylko)
Czyli mp.
Mp mp = new Mp();
mp.SetMojamapa….

i nie wiem jak to teraz napisać...
Dzięki!

2

Daj sobie spokój, zrób one-to-many/@ElementCollection na liście i skonwertuj na mapę w domenie.

0

Muszę to zrobić tak :(

1

Co znaczy przymapować coś do kolumny name? Wstawić nową wartość dla tego klucza, czy podmienić klucz?

0
chivy napisał(a):

Co znaczy przymapować coś do kolumny name? Wstawić nową wartość dla tego klucza, czy podmienić klucz?

Chcę wstawić tylko klucz.. set Key.. Nie chcę robić "puta"

2

Z tego co rozumiem, chcesz podmienić klucz w danym Entry z mapy. W takim wypadku, jedynym rozwiązaniem jest chyba podmiana całego entry, z nowym kluczem.

Niestety ostatnio natknąłem się na problem jaki nasze kochane JPA sprawia, a mianowicie, że niedozwolone jest podmienianie kolekcji w encjach hajbernejtowych, więc nie wiem jak ta podmiana się zachowa. Możesz spróbować

0

Dzięki.Cenne.

1 użytkowników online, w tym zalogowanych: 0, gości: 1