java - “嵌入式”属性类型不应是地图
问题描述
我有一个 @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。
有谁知道我做错了什么?
我想也许这只是一个警告,但构建实际上失败了。
谢谢!
解决方案
推荐阅读
- php - 如何处理重定向然后解析器重定向页面?使用 simple_html_dom
- javascript - 如何在 JavaScript 中停止鼠标悬停间隔?
- python-3.x - OpenCV:使用destroyWindow销毁时第二次没有出现Imshow窗口
- node.js - 如何在 Puppeteer 中获取所有请求标头
- javascript - 带圆角的画布矩形(进度条) - 低值问题
- swiftui - 在父视图中使用 @FetchRequest 结果
- math - 两个向量集通过正交矩阵对齐的必要条件是什么?
- java - 增加 java.util.Stack 实例的默认大小
- gitlab-ci - 无法创建容器 Gitlab CI docker excutor
- python - 涉及多变量学生的约束满意度问题