Java – JPA @ elementcollection list specifies the connection column name
•
Java
I have the following entities:
@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>();
...
When I set hibernate to autocreate, the set table created is
SHIRT_COLORS shirt_id color
How to annotate my entity so that the connection column is not the connection between entity and PK, so that the created table is:
SHIRT_COLORS id color
I tried @ joincolumn, but I didn't work In fact, shirt in production_ The colors table is managed outside the application, and the column names have been defined
Solution
Try this:
@Entity
public class Shirt implements Serializable {
@Id
@Size(max=9)
private String id;
@ElementCollection
@CollectionTable(
name = "SHIRT_COLORS",joinColumns=@JoinColumn(name = "id",referencedColumnName = "id")
)
@Column(name="color")
private List<String> colors = new ArrayList<String>();
...
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码
