我在我的应用程序中使用了弹簧安全核心插件。我的user类扩展了SecUser,在尝试删除一个用户时,没有做任何可能是异常的操作,我得到了以下错误
_( util.JDBCExceptionReporter )_‘_和version=?23003-147
错误2012-01-02 19:54:57,294 "http-bio-8080"-exec-10 Error events.PatchedDefaultFlushEventListener -无法使数据库状态与会话同步
由JdbcSQLException引起:引用完整性约束违反:"FK6630E2AB3FFA32A: PUBLIC.SEC_USER_SEC_ROLE外键(SEC_USER_ID)引用PUBLIC.SEC_USER(ID)";SQL语句:从sec_user中删除id=?和version=?23003-147
知道我为什么要违反integrtiy约束
发布于 2012-01-02 19:14:45
获得完整性冲突异常的原因是spring安全性在SEC_USER表和SEC_ROLE表之间创建了连接表SEC_ROLE(用户可以具有多个角色,反之亦然)。要删除用户对象,可以使用以下代码:
Collection<SecUserSecRole> userRoles = SecUserSecRole.findAllBySecUser(user);
userRoles*.delete();
user.delete();https://stackoverflow.com/questions/8704354
复制相似问题