JPA 与 multipartfile 的一对一关系
Posted
技术标签:
【中文标题】JPA 与 multipartfile 的一对一关系【英文标题】:one to one relationship JPA with multipartfile 【发布时间】:2020-11-12 15:13:25 【问题描述】:我显然不知道如何与 JPA 建立 oneToOne 关系。
文章实体
@Entity
public class Article
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String title;
private String content;
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "files_id", referencedColumnName = "id")
private MultipartFile file;
文件实体
@Entity
@Table(name = "files")
public class DBFile
@Id
@GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "uuid2")
private String id;
private String fileName;
private String fileType;
@Lob
private byte[] data;
@OneToOne(mappedBy = "files")
private Article article;
终端
Caused by: org.hibernate.AnnotationException: @OneToOne or @ManyToOne on com.test.webservices.article.Article.file references an unknown entity: org.springframework.web.multipart.MultipartFile
我尝试将 String by Long 更改为 dbfileEntity,但在构建 uri 路径之后遇到了一些麻烦……我不明白为什么它不起作用,因为我使用了 @Table 注释。 有人可以解释一下吗? 谢谢
【问题讨论】:
【参考方案1】:这是一个错字。在这里,您是说您正在通过files
进行映射:
@OneToOne(mappedBy = "files")
private Article article;
其中字段名称为file
:
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "files_id", referencedColumnName = "id")
private MultipartFile file;
您应该修复mappedBy
属性:
@OneToOne(mappedBy = "file")
private Article article;
也是类型不对,应该是:
private DBFile file;
【讨论】:
好游戏,可以!但是现在我尝试仅上传文件时遇到了同样的问题...内容类型'multipart/form-data;boundary=-------------------- ------096279328385565755529413;charset=UTF-8' not supported] 非常感谢! @JeanReno 通过查看该错误很难说,我建议为此创建一个新问题以上是关于JPA 与 multipartfile 的一对一关系的主要内容,如果未能解决你的问题,请参考以下文章