我正在使用 seam 2.1.2 安全性,并使用 jsf richfaces GUI 的 identitymanager 创建了一个角色。在创建过程中,我会为在数据库中创建的角色添加一个“描述”,创建角色是可以的,但没有添加描述字段,我必须更新角色(在 GUI 的其他操作中)才能看到存储在数据库中的描述字段. 问题是我该怎么做才能存储在创建操作中提交的“描述”?
下面是我的代码:
public boolean createRole(Role role) {
IdentityManager identityManager = IdentityManager.instance();
logger.info("creating role:" + role.getRoleName());
if (identityManager.roleExists(role.getRoleName())) {
return false;
}
if (identityManager.createRole(role.getRoleName())) {
completeRolePersistence(role);
return true;
}
return false;
}
和 completeRolePersistence 方法:
public void completeRolePersistence(Role role) {
logger.info("setting additional info to role...");
Query query = em.createNamedQuery("UPDT_ADDITIONALS");
query.setParameter("name", role.getRoleName())
.setParameter("description", role.getDescription())
.setParameter("level", role.getRoleLevel());
int updated = query.executeUpdate();
logger.info("roles updated with desc : " + updated);
}
似乎查询没有执行,我在日志中打印
roles updated with desc : 0