SSH后台,如何同时修改两张表?
有一张表person,另一张表useraccount,person对useraccount是多对一的关系。在页面中,想同时修改这两张表中的一些属性,在后台personService中主要实现对这两个表的修改,部分代码如下:
程序代码:
public void txUpdatePerson(Person person) throws Exception {
if (!StringUtil.isEmpty(person.getPersonId())) {
Person tmpPerson = (Person)this.load(person.getPersonId());
// tmpPerson.userAccount.setUserName(tmpPerson.userAccount.getUserName());
// tmpPerson.userAccount.setLoginName(tmpPerson.userAccount.getLoginName());
tmpPerson.setMobileNumber(person.getMobileNumber());
tmpPerson.setEmail(person.getEmail());
tmpPerson.setRoleList(person.getRoleList());
this.update(tmpPerson);
// this.update(tmpPerson.userAccount);
}
}
if (!StringUtil.isEmpty(person.getPersonId())) {
Person tmpPerson = (Person)this.load(person.getPersonId());
// tmpPerson.userAccount.setUserName(tmpPerson.userAccount.getUserName());
// tmpPerson.userAccount.setLoginName(tmpPerson.userAccount.getLoginName());
tmpPerson.setMobileNumber(person.getMobileNumber());
tmpPerson.setEmail(person.getEmail());
tmpPerson.setRoleList(person.getRoleList());
this.update(tmpPerson);
// this.update(tmpPerson.userAccount);
}
}
userName和loginName是定义在useraccount表中,MobileNumber,Email和RoleList是定义在person表中。
求大神给我点思路。。。
[ 本帖最后由 davidfly 于 2013-8-19 16:28 编辑 ]
----------------解决方案--------------------------------------------------------
进行两个更新不就行了
----------------解决方案--------------------------------------------------------
这个完全可以再oracle中直接把两张表的关系写好,用外键约束之类的。不是有个同步更新的。去看看怎么sql语句,建表的时候就可以弄好了,之后当你操作一张表单的时候另外一张同步更新,但是删除操作会有先后顺序,否则无法删除
----------------解决方案--------------------------------------------------------
已解决 谢谢
----------------解决方案--------------------------------------------------------