0
Im在jpa有一些怀疑。例如一个表Post和一个表文件。一篇文章可以有多个文件关联,一个文件关联到一个文章,所以我们有一对多的关系。映射总是在一对多的关系方向
我有疑问知道我们应该创建OneToMany关系还是ManyToOne或两者。例如,在post和files示例中,我们需要了解它的单向还是双向是如果我们想知道一个帖子有哪些文件以及哪些文件在帖子中,对吗?如果它的双方都是双向关系,对吧?但是这两个问题看起来很相似,所以它的正常答案是肯定的。所以它不是一个很好的练习映射总是两个方向?
实施例,映射总是两个方向:
@Entity
public class Post{
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
@OneToMany(mappedBy="post")
private List<Files> files= new ArrayList<>();
}
@Entity
public class File{
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
@ManyToOne
@JoinColumn(name="post_id")
private Post post;
}
感谢您的回答。例如,假设你的第一个例子,如果一个用户只能通过一个帖子访问某些文件,那么它是单向的。但在这种情况下是OneToMany或ManyToOne?你知道如何检查吗? – Ozzy
@Ozzy在单向的情况下 - 您将在Post中拥有一个List文件的List字段,并且您需要在Post中进行映射,当然这将是OneToMany映射 – Ubercool