zoukankan      html  css  js  c++  java
  • 实体对象的状态设计

    s="2" cols="20" id="Editor_Edit_EditorBody" style="height:500px;100%;">

    1实体对象类图:
    Entity 状态属性类图.jpg

    2: 实体对象状态图:
    Entity 对象状态转换图.jpg

    3:描述

    对于需要持久化的实体对象,在它的生命周期中可处于以下4个状态或混合状态中。

    Ø         临时状态(isNew): 刚刚用new 语句创建,还没有被持久化 (isNew = true, isDirty = false, isLoaded = false, isDeleted=false)

    Ø         “脏”状态(isDirty:

    ü         编辑处于临时状态的实体对象(isNew = true, isDirty = true, isLoaded = false, isDeleted=false)

    ü         编辑处于持久化状态的实体对象(isNew = false, isDirty = true, isLoaded = false, isDeleted=false

    Ø         持久化状态(isNew=false,isDeleted=false:

    ü         Load方法加载的对象(isNew = false, isDirty = true, isLoaded = true, isDeleted=false)

    ü         把临时状态的对象通过Insert/Save/Update方法进行保存(isNew = false, isDirty = false, isLoaded = false, isDeleted=false)

    ü         把持久化状态的对象通过Save/Update方法进行保存(isNew = false, isDirty = false, isLoaded = false, isDeleted=false)

    Ø         游离状态(isDeleted:调用对象的Delete方法已经从数据库中把对应的记录移除(isDeleted=true,处于游历状态的对象是不能够再进行CRUD操作了,否则系统会抛出一个不能对游历态对象操作的异常

     

    4:  问题描述

          以上是NDO Framwork 中关于实体对象的状态设计图,希望大家帮我看看指出其中的不足。另外有一个困惑我了一下午的问题: 把一个实体对象对应的数据库记录删除后则该对象处于游离态还是出于临时状态,如果是出于临时状态的话那么游离态就没有存在的必要性,希望就这个问题听听大家的看法。

  • 相关阅读:
    微信小程序UI自动化: minium文档部署02
    微信小程序UI自动化: 选择工具/框架01
    gitalb学习:02gitlab runner安装
    gitlab学习: 01安装gitlab
    01.Python中一切皆对象
    Prometheus+Noe Expoter+Grafana:资源监控初体验(基于cenots7,没使用docker)
    01. 判断三角形的函数
    Locust性能测试:上手初体验
    史上最全的邮箱测试方法!
    使用 Python 处理非对称加密,竟然如此简单
  • 原文地址:https://www.cnblogs.com/netcasewqs/p/593553.html
Copyright © 2011-2022 走看看