В чем разница между однонаправленными и двунаправленными ассоциациями JPA и гибернацией?

В чем разница между однонаправленными и двунаправленными ассоциациями?

Поскольку таблица, созданная в db все одинаковы, поэтому единственное различие, которое я обнаружил, состоит в том, что каждая сторона двунаправленных ассоциаций будет иметь ссылку на другую, а однонаправленную - нет.

Это однонаправленная ассоциация

public class User {
    private int     id;
    private String  name;
    @ManyToOne
    @JoinColumn(
            name = "groupId")
    private Group   group;
}

public class Group {
    private int     id;
    private String  name;
}

Двунаправленная ассоциация

public class User {
    private int     id;
    private String  name;
    @ManyToOne
    @JoinColumn(
            name = "groupId")
    private Group   group;
}
public class Group {
    private int         id;
    private String      name;
    @OneToMany(mappedBy="group")
    private List<User>  users;
}

Разница в том, содержит ли группа ссылку пользователя.

Интересно, является ли это единственной разницей? что рекомендуется?

122
задан Vlad Mihalcea 8 February 2018 в 09:01
поделиться