zoukankan      html  css  js  c++  java
  • 关于slavetable

    slavetable有两种情况,

    从表有三个要素

    1、自己主键字段的idfield

    2、对应主表的主键字段masterIdField

    3、对应主表主键的值

    模式一、MasetrEdit模式  也就是主表记录编辑模式

               此时,主表记录的id值是确定的

    slavetable的动作:

                            m_initial(bean or modulename,linkfield)

                            m_setMasterEditMode(masterfieldvalue)

                             listview m_selectFromMasterId() 从从表中查询符合主表id主的,然后listview显示

                             editview,此时masteridvalue是确定的,锁定的,不需要添加

                             addview,此时masteridvalue是确定的,锁定的,自动添加

    初始化的时候得到 自己的idfield,master对应的idfield

    模式二、MasterAdd模式,也就是主表记录新增模式

    slavetable的动作:listview 为空,不需要显示,因为是新增

                             addview,里面masterIdValue是空的,锁定的,不需要添加,

                             从listview中得到的,editview ,masterIdValue是空的,锁定的,不需要添加

    问题1:slavetable会在没有主表id值得情况下,被使用吗?

              答:会,主要是在主从表添加的时候,此时还不知道主表的id值

                  但是在MasterSlave的editview情况下,是有masterid值的

    答案:slavetable是根据主表而出现的一种形式,所以,主表的addview,和editview对于slavetable是不同的。

    如果主表处于addview方式时,slavetable中,对应主表的id值没有,所以在新增和显示时,都没有显示

    如果主表处于editview方式时,slavetable的对应的主表id已经有值,所以需要显示并自动增加。

    一、listview 

    一、标准的主从使用

         此时,因为master还没有保存,可能还没有得到master的id。

         所以,从表在增加时,是不知道masterid的,

        那么此时的idfield需要显示吗?实际上,在addview时,不需要显示,在editview时需要显示。

       如果此时idfield为 int字段,则显示会有错乱,因为会全部显示为0,而其实在新增时,会另外赋予真正的值。

       所以,在tag=new时,id的值,应该不显示????这个仅限于id为自增长或者guid的情况,因为会自动增加。

       这就意味着,slavetable有一个限制,只适应于id为在新增的时候自动增加id值的情况。

       如果id为其他可识别的标识,只能用脚本改变,??????

    二、单独的从表使用方式

         此时,应该知道masterid的值

  • 相关阅读:
    JVM
    事务
    Spring中AutowireMode(自动装配模型)
    ImportAware应用
    spring中几个比较重要的扩展点
    动态代理在Spring中的应用
    基于ImportSelector模拟简单的Aop
    正则表达式分组(Grouping)
    正则表达式断言(Assertions)
    一个JSON解析器
  • 原文地址:https://www.cnblogs.com/dlbird/p/4034884.html
Copyright © 2011-2022 走看看