weegle2014
2018-07-04 01:42
采纳率: 100%
浏览 1.8k

ssm框架中,如何抛出sql语句检查约束异常?

在做透支转账时,前台报500,提示:违反检查约束条件;
不知在哪里抛出或者声明异常,请大神指点
前台报错500,内容如下:
exception

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.dao.DataIntegrityViolationException:

Error updating database. Cause: java.sql.SQLException: ORA-02290: 违反检查约束条件 (PEPE.SALARY)

The error may involve com.zrgk.ssm.dao.EmpDao.updateSal-Inline

The error occurred while setting parameters

SQL: update emp set salary=salary+? where empid=?

Cause: java.sql.SQLException: ORA-02290: 违反检查约束条件 (PEPE.SALARY)

; SQL []; ORA-02290: 违反检查约束条件 (PEPE.SALARY)
; nested exception is java.sql.SQLException: ORA-02290: 违反检查约束条件 (PEPE.SALARY)

service实现类代码如下:
(已做转账的声明式事务)

@Service
public class EmpServiceImpl implements EmpService {
    @Autowired
    private EmpDao ed;

    @Override
    @Transactional(readOnly=false,propagation=Propagation.REQUIRED)
    public void zhuan(Integer ruid, Integer chuid, Double money) {
        // TODO Auto-generated method stub

        //先转入
        ed.updateSal(new Emp(ruid,null, money));
        //再转出
        ed.updateSal(new Emp(chuid, null, -money));

    }
}

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

11条回答 默认 最新

  • csdnKeyborder 2018-07-04 01:45
    已采纳

    在dao层抛出,EmpDao

    评论
    解决 无用
    打赏 举报
查看更多回答(10条)

相关推荐 更多相似问题