一对一关系 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;
我显然不知道如何与 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;