|
版本: |
|
小版本号: |
|
|
|
数据库: |
|
服务器操作系统: |
|
应用服务器: |
|
客户端操作系统: |
|
浏览器: |
|
|
|
本帖最后由 yangpping 于 2015-9-29 08:58 编辑
业务场景是,从不同的两个数据库中实现部分数据同步。我做了一个按钮控制执行同步。
页面上写了两个bizdata,一个是treeData,一个是mainData,
想实现从treeData中读取数据,在前端与mianData中的数据进行比对,如果mainData中没有某条数据,则新增,有则更新。
代码如下
情景1:treeData中要保存305条数据,
执行遍历前: this.comp('treeData').getCount () =305 this.comp('mainData').getCount () = 0
执行遍历后:this.comp('treeData').getCount () =305 this.comp('mainData').getCount () = 276
保存是执行mainData默认的save动作,保存到数据库中查询发现只有247条数据;而且该操作很慢,后台有类型如下的信息:
2015-09-28 20:31:08 根据名字dataSource获取Config ->/CDPMS/cost/base/data/dataSource@Config
2015-09-28 20:31:08 根据名字dataSource获取Config ->/CDPMS/cost/base/data/dataSource@Config
2015-09-28 20:31:08 获取数据库的连接参数:java:comp/env/system
2015-09-28 20:31:08 事务状态转换,当前状态:10, 接受倒的状态:10, 正在启动懒惰事务
情景2:treeData中还是情景1的数据集,刷新页面,再执行一次同步数据。
执行遍历前: this.comp('treeData').getCount () =305 this.comp('mainData').getCount () = 247 (从数据库中获取到的数据集)
执行遍历后:this.comp('treeData').getCount () =305 this.comp('mainData').getCount () = 276
实行保存时,发现没有数据新增。
请问为什么会这样?什么原因会产生这样的问题呢?
好吧,回去之后,突然想到data.find函数的参数值我可能给错了,fid的查找应该大小写敏感,和不能模糊查询的。哈!!!早上来上班一改,果然就正常了。
|
|