Код: Выделить всё
@Entity
@Table(name = "user")
public class User extends HibernatePersistentObject implements Serializable
Код: Выделить всё
@ElementCollection(fetch = FetchType.EAGER)
@CollectionTable(name = "preferences", joinColumns = @JoinColumn(name = "user_id"))
@MapKeyColumn(name = "NAME")
@Column(name = "VAL")
private Map preferences;
Код: Выделить всё
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "preferences_seq")
@SequenceGenerator(name = "preferences_seq", sequenceName = "preferences_seq", allocationSize = 1)
@Column(name = "PREFERENCES_ID")
private int preferenceId;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "user_id")
private User user;
@Column(name = "NAME")
private String name;
@Column(name = "VAL")
private String val;
Код: Выделить всё
org.hibernate.MappingException: Foreign key (FK7ar0ym10trw4wvrrermbpcm2l:preferences [preferences_PREFERENCES_ID])) must have same number of columns as the referenced primary key (preferences [user_id,NAME])
at org.hibernate.mapping.ForeignKey.alignColumns(ForeignKey.java:148)
at org.hibernate.mapping.ForeignKey.alignColumns(ForeignKey.java:130)
at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.secondPassCompileForeignKeys(InFlightMetadataCollectorImpl.java:1914)
Подробнее здесь: https://stackoverflow.com/questions/792 ... y-key-with