增删改查相关
1. 传递一些实体上没有的字段到后台
在meta中增加prop,然后设置它的virtual属性为true,表示是虚拟字段,就不会自动拷贝到实体上。
如果不允许读取,则需要配置published=false,这样查询后台的时候就不允许从实体上读取此属性。
|
在后台可以通过entityData读取
|
2. 在事务提交成功之后再执行某个操作
使用ITransactionTemplate.afterCommit(null, action)函数。
CrudBizModel已经注入了transactionTemplate,可以通过this.txn()来使用。
3. 扩展CrudBizModel内置的save/update等操作,增加业务相关的特殊处理
如果只是少量的更新几个字段,原则上可以使用自定义的bean作为参数,然后直接调用dao().save(entity)即可。
但是如果要接收大量字段,并考虑到未来是否有新扩展的字段需要保存,保存的时候需要执行定制的处理逻辑等,这时就
不要使用自定义的JavaBean作为参数,应该直接使用内置的doSave等函数。
|
- inputSelection参数可以用于限制只接收前端传过来的某些参数
- prepareSave回调函数可以用于定制实体实际保存前执行的额外的业务逻辑
4. 查询时要求参数必填
propMeta上可以配置ui:queryMandatory或者query form的cell上配置mandatory
5. 自动设置实体上的属性
ORM save时自动设置缺省值
- 在Excel数据模型中设置defaultValue,则新建实体的时候如果没有设置该字段,则会自动设置为缺省值。
- 保存时,如果字段要求非空,但是当前值为null,则也会设置为缺省值。
- 保存时,如果字段当前值为null,但是具有seq标签,则自动生成一个序列号设置到实体上。
OrmEntityCopier执行XMeta中设置的autoExpr
在XMeta层面,如果为prop配置了autoExpr,则当前台没有提交该属性时会自动执行autoExpr来设置。
|