1

I'm studying bidirectional mapping. I mapped Team and Member with @OneToOne and @ManyToMany annotations.

@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

}

main method

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());

    //...
}

results:

members: []

I wonder why "members" were not added to the "members field" of "Team" in the code above. Thank you in advance.

Hyunj
  • 49
  • 1
  • 4
  • Does this answer your question? [What is “the inverse side of the association” in a bidirectional JPA OneToMany/ManyToOne association?](https://stackoverflow.com/questions/2584521/what-is-the-inverse-side-of-the-association-in-a-bidirectional-jpa-onetomany-m) – Stuck Apr 28 '20 at 15:30
  • Thank you for answering. I understood that Member entity in my case is the owner of the association. However I don't know the reason why I can't read members info by using team.getMembers(). – Hyunj Apr 28 '20 at 17:25

0 Answers0