hibernate进行关联之后,如何进行add?

wanglei919 2012-11-21 09:07:37
问题可能不是很明确,下面我说的详细点:
我有两个类 一个是project 一个是building 关系是一对多(project为1,building为多)
数据库:
project:
id int(11) not null AUTO_INCREMENT,
serialNumber varchar(30) not null,
等等。。。
building
id int(11) not null auto_increment,
buildingNum int(11) default 0,
projectId int(11) default 0,//于上面project的id关联
等等
在Project类中做onetomany关联
private List<Building> buildingList = new ArrayList<Building>();
@OneToMany(mappedBy = "project", cascade = CascadeType.ALL)
public List<Building> getBuildingList() {
return buildingList;
}
public void setBuildingList(List<Building> buildingList) {
this.buildingList = buildingList;
}
在Building类中做关联
private Project project;// 所属项目
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "projectId")
public Project getProject() {
return project;
}
public void setProject(Project project) {
this.project = project;
}

关联做好之后,我在jsp中添加building的时候,需要选择building所属的项目,传给后台的是一个long型的prjectId,如下:
<input name="building.project.id" />

出现错误:错误时project的serialNumber不能为空,我看了看console中的信息,看到首先是对building进行了insert,然后对project进行了update,由于在前台传给project的只是一个id,而serialNumber为空,所以报了project的serialNumber不能为空的错误,
请问大侠们,那怎么进行插入呢?是我配置的有问题?还是咋地?
...全文
90 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanglei919 2012-11-21
  • 打赏
  • 举报
回复
谢谢
suciver 2012-11-21
  • 打赏
  • 举报
回复
没有级联就是当对这个类对象进行操作时不会对相关联的类进行级联操作 看具体需求,例如在一对多情况下,多的一方操作了不希望一的一方也跟着操作这样的。 往往是一的一方更新后才对多的一方也同时级联更新
wanglei919 2012-11-21
  • 打赏
  • 举报
回复
去掉之后是可以的,但是没有级联之后是不是会产生影响?
suciver 2012-11-21
  • 打赏
  • 举报
回复
把级联操作去掉。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧