Двунаправленные отношения не устанавливают отношения? - PullRequest
0 голосов
/ 13 июля 2011

Рассмотрим следующие два класса

public class ServerDAOHb implements Serializable {
    ....
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "server")
    private Set<ChannelDAOHb> channels = new HashSet();
}

public class ChannelDAOHb implements Serializable {
    ...
    @ManyToOne(cascade = CascadeType.ALL)
    @JoinColumn(name = "SERVER_ID" /*, nullable = false*/)
    private ServerDAOHb server;
}

Почему, когда я добавляю новый канал на сервер (оба еще не сохранены), сервер канала по-прежнему нулевой? Даже в базе данных SERVER_ID канала является нулевым. Странно, хотя с одним сервером он все равно возвращает канал.

Почему SERVER_ID не заполняется автоматически? Как мне его заполнить?

1 Ответ

1 голос
/ 13 июля 2011

Вам необходимо установить ссылку на сервер в канале, так как это сторона-владелец (представьте, что таблица с внешним ключом является стороной-владельцем).Просто добавление канала в набор не будет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...