package com.wang.vo;import java.io.Serializable;public class Ren implements Serializable { private int id;
private String name;
private Content content;
public Ren(){
}
public Ren(String name,Content content){
this.name=name;
this.content=content;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Content getContent() {
return content;
}
public void setContent(Content content) {
this.content = content;
}
}Content.java package com.wang.vo;import java.io.Serializable;public class Content implements Serializable { private String email;
private String tel;
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
}
修改方法:public void testUpdate(){
Ren ren = RenDAO.findById(1);
ren.setName("zhangsan");
Content content = new Content();
content.setEmail("[email protected]");
content.setTel("110119120");
renDAO.update(ren);
}
修改完 email tel 还是以前的值,没修改掉,不知道问题出哪了,高人指点下,第一次用组建映射。谢了。运行时没有问题,不会报错.
content.setEmail("[email protected]");
content.setTel("110119120");
这三句是干嘛用的?
content.setEmail("[email protected]");
content.setTel("110119120");
你这样写是新建一个对象赋值,这个不是你需要修改的那个对象,所以原来的就没有改过来,你得通过条件获取到你需要修改的对象,再把值set进去,然后update 就OK了
Java code
public void testUpdate(){
Ren ren = RenDAO.findById(1);
ren.setName("zhangsan");
Content content = new Content();
content.setEmail("[email protected]");
content.setTel("110119120");
ren.setContent(content);
renDAO.update(ren);
}这样就应该可以了,你没把content对象set进去!
Ren ren = RenDAO.findById(1);
ren.setName("zhangsan");
Content content = ren.getContent();
content.setEmail("[email protected]");
content.setTel("110119120");
ren.setContent(content);
renDAO.update(ren);
}我是这么写的,但是修改就是修改不了 email 和 tel ,不知道为什么。
public void update(T t){
try{
this.getHibernateTemplate().update(t);
}catch(RuntimeException e){
throw new RuntimeException("修改数据失败");
}
}