У меня есть объект типа @Embeddable:
@Embeddable
public class FileData {
/* --- Members --- */
@Column(name = "path")
private String path;
@Column(name = "type")
private String type;
}
И у меня есть еще один объект, который будет его содержать.
@Entity(name = "EmbeddingObject")
@Table(name = "embeddingObjcetTable")
public class EmbeddingObject {
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "embeddingObjcetTable_files",
joinColumns = {@JoinColumn(name = "embedding_id", referencedColumnName = "id")},
private Set<File> files;
@ElementCollection(fetch = FetchType.EAGER)
@Column(name = "embedding_id")
@CollectionTable(name="embeddingObjcetTable_fileData",
joinColumns = {@JoinColumn(name = "embedding_id", referencedColumnName = "id")}))
@MapKeyJoinColumn(name = "file_id")
private Map<File, FileData> fileDataMapping; <-- HERE
}
Ошибка, которую я получаю:
Тип встроенного атрибута не должен быть картой. Единственный внедренный объект - FileData.
Кто-нибудь знает, что я делаю неправильно?
Я подумал, может быть, это просто предупреждение, но на самом деле сборка не удалась.
Спасибо!