2011-07-13 21 views
0

考虑以下两类双向关系是不是设置关系?

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

您需要在通道中设置服务器引用,因为这是拥有方(认为该表具有作为拥有方的外键)。只是将该频道添加到该集合将不起作用。

+0

有道理我猜。谢谢您的帮助 – TheLQ