JPA @ElementCollection List указывает имя столбца объединения
У меня есть следующее лицо:
@Entity
public class Shirt implements Serializable {
@Id
@Size(max=9)
private String id;
@ElementCollection
@CollectionTable(name="SHIRT_COLORS")
@Column(name="color")
private List<String> colors = new ArrayList<String>();
...
Таблица коллекций, созданная при установке hibernate для автосоздания,
SHIRT_COLORS
shirt_id
color
Как я могу аннотировать свой объект, чтобы столбец объединения не был конкатенацией объекта и pk, так что созданная таблица:
SHIRT_COLORS
id
color
Я пробовал @JoinColumn, но это не сработало. На самом деле таблица SHIRT_COLORS в производстве управляется за пределами приложения, и имена столбцов уже определены.
Ответы
Ответ 1
Попробуй это:
@Entity
public class Shirt implements Serializable {
@Id
@Size(max=9)
private String id;
@ElementCollection
@CollectionTable(
name = "SHIRT_COLORS",
[email protected](name = "id", referencedColumnName = "id")
)
@Column(name="color")
private List<String> colors = new ArrayList<String>();
...