1
@Entity
public class Record implements Serializable{

@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private long id;

@OneToMany(fetch=FetchType.EAGER)
@Fetch(FetchMode.SUBSELECT)
@Cascade(value={CascadeType.SAVE_UPDATE})
private List<Comment> commentList=new ArrayList<Comment>();

}

@Entity
public class Comment implements Serializable{

@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private long id;

@Column(columnDefinition="text")
private String content;
}

我的客户中有一条记录,并在列表中添加了一些评论。
使用 RMI 方法:void update(Record reocord)。
然后在服务器上,休眠将 id=0 的评论保存到数据库中,并给出一个生成的 id。

如何将这些 ID 分配给客户端中的评论?如果没有,另外一次我调用 update(Record reocord),评论将被添加两次。


也许:记录更新(记录记录),但我认为如果记录有大数据,那是不明智的。

4

1 回答 1

0

我遇到了这个问题。如果您正在自动生成主键(主要用于规范化表),请根据现有数据自行创建唯一 Id。请记住覆盖hashcodeequals用于比较目的。

于 2013-06-01T13:57:13.900 回答