一对一关系 JPA 与 multipartfile

one to one relationship JPA with multipartfile

我显然不知道如何与 JPA 建立一对一关系。

文章实体

@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 注释。 有人可以解释一下吗? 谢谢

打错了。在这里你说你正在映射 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;