问题可能不是很明确,下面我说的详细点:
我有两个类 一个是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不能为空的错误,
请问大侠们,那怎么进行插入呢?是我配置的有问题?还是咋地?
我有两个类 一个是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不能为空的错误,
请问大侠们,那怎么进行插入呢?是我配置的有问题?还是咋地?
解决方案 »
- jsp也JavaScript传参问题
- 执行SQL语句后的记录集是空的,我该怎么办?
- jsp中的一个新发现!!!!!!!!!
- 急问,IIS+Tomcat为何无法访问servlet,但jsp文件正常
- 在HTML提交变量给HTTP服务器, 用的是GET的方式, 若提交的变量字节大于500多字节的时候 浏览器就不执行f.submit?
- 在jsp当前页面如何取文本框中的值
- 请问jsp里面怎么得到满足某个查询的记录条数的??
- Tomcat 的问题!
- 请问如何排除Jsp逻辑错误!
- 让我们一起设计一个最先进的jsp BBS互动系统吧
- 怎样从tomcat连接池配置文件中取出数据库路径
- hibernate同时使用多数据源?spring+hibernate
看具体需求,例如在一对多情况下,多的一方操作了不希望一的一方也跟着操作这样的。
往往是一的一方更新后才对多的一方也同时级联更新