jpa - JPA @ManyToOne,@OneToMany 双向关系
问题描述
我正在研究双向映射。我使用 @OneToOne 和 @ManyToMany 注释映射了 Team 和 Member。
@Entity
public class Team {
@Id @GeneratedValue
private Long id;
private String name;
@OneToMany(mappedBy = "team")
private List<Member> members=new ArrayList<Member>();
//omit getter, setter ,toString
}
@Entity
public class Member {
@Id
@GeneratedValue
private Long id;
@Column(name="USERNAME")
private String name;
@ManyToOne
@JoinColumn(name="TEAM_ID")
private Team team;
@Enumerated(EnumType.STRING)
private Status status;
//omit getter, setter , toString
}
主要方法
public static void main(String args[]){
//...
Team team= new Team();
team.setName("RedTeam");
em.persist(team);
Member member= new Member();
member.setName("me");
member.setStatus(Status.ADMIN);
member.setTeam(team);
em.persist(member);
Member findmember= em.find(Member.class, member.getId());
Team findTeam= findmember.getTeam();
System.out.println("members: "+findTeam.getMembers());
//...
}
结果:
成员:[]
我想知道为什么在上面的代码中没有将“成员”添加到“团队”的“成员字段”中。先感谢您。
解决方案
推荐阅读
- python - 如何在python列表数组中找到大值的位置
- c# - 在 oneClick 发布的项目中找不到 rdlc
- javascript - 使用材料 ui 弹出框反应错误边界意外行为
- python - 将数据框与公共列连接起来
- electron - desktopCapturer.getSources 和 getUserMedia 不起作用
- xamarin - Xamarin iOS 部署到苹果商店但缺少图标错误
- python - _tkinter.TclError: 错误# args: 应该是“.!entry2 插入索引文本”
- c++ - C++ 理解缓冲区和 std::endl
- ssl - 带有 SSL 的 Kafka 在生产者中失败
- python - 使用“onclick”抓取 Javascript