【Hibernate学习笔记】分层数据验证

    在四层应用结构中,不应该依赖hibernate持久化层或数据库层来负责数据验证(因为这样会降低数据验证的效率),应该由表述层或业务逻辑层负责数据验证。

    例如,对于Customer对象的name属性,假如表述层、业务逻辑层和hibernate持久化层都没有检查name属性是否为null,那么数据库层会监测到NAME字段违反了数据完整性约束(在数据库中NAME设置为not-null),从而抛出异常,如图2-2所示。包含非法数据的Customer对象从表述层依次传到数据库层,随后从数据库层抛出的错误信息又依次传到表述层,这种做法显然会降低数据验证的效率。

    既然如此,在hibernate层中把<property>元素的not-null属性设为true,有何意义呢?这主要是便于在软件开发和测试阶段能捕获表述层或业务逻辑层应该处理而未处理的异常,同时提醒开发人员在表述层或者业务逻辑层中加入必要的数据验证逻辑。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值