学JAVA已经有五年了,当然,我现在已经不是一个职业程序员,但一直还是把JAVA当作自己的一项技能,时时用之。但是关于面向对象设计上有个问题一直弄不懂,特别是用HIBERNATE来做数据库操作时。所以向大家讨教。
问题是这样的:
比如一个User类,记载了一个用户的信息,如姓名、年龄、性别等等。
假设有两个管理员同一时间段对某一个用户的资料进行修改,而且只改资料里面的某一项,其他项和进入修改页面时从数据库里读出来的一样。那么
1.A、B管理员都打开该用户的资料修改页面,这个时候,A、B管理员面前的修改页面是数据都是一样的。
2.A管理员改了“年龄”,B管理员“地址”。
3.A管理员保存更新,“年龄”这一项改变了,其他项和数据库里取出时一样。
4.B管理员也保存更新,“地址”这一项改变了,其他项和数据库里取出时一样。
这样的问题是,A管理员更新的“年龄”被B管理员的更新冲掉了,变成了原来的年龄。
这个问题在一些企业应用中还是经常会碰到的,特别是那些需要多人协同,负责采集一个对象的数据的情况。
我在GOOGLE里面也试过,修改自己的Gmail帐号信息,可是还是出现了数据被冲掉的现象。
我现在对这些问题都是采用JDBC直接进行单字段的set XX = ?来解决,但是这样就不是OOD了。
也许对大家来说早就不是问题了,所以想向大家请教!
分享到:
相关推荐
本书使用最常见的技术和方法,通过一个贯穿全书的案例分析,对面向对象的软件开发过程和使用面向对象技术的编程过程进行了透彻的讨论。首先阐述了面向对象软件项目的基本概念,然后基于广泛使用的方法,介绍了使用...
面向对象编程是计算机语言的一种先进的编程模式,在工业控制系统的PLC程序中也可以采用这种设计思想,虽然我们无法实现面向对象的很多特点如“继承”,甚至于它根本就不具备面向对象编程语言的特点,但面向对象编程...
Python 是一种面向对象的解释型语言,面向对象是其非常重要的特性。《Python 3面向对象编程》通过Python 的数据结构、语法、设计模式,从简单到复杂,从初级到高级,一步步通过例子来展示了Python 中面向对象的概念...
《妙解Hibernate 3.x:叩响面向对象思想之门》是一本深入解析Hibernate框架的专著,旨在帮助读者理解并掌握面向对象编程思想在实际开发中的应用,尤其是在使用Hibernate时如何有效地进行数据持久化。这本书是面向...
由于提供的文件内容不包含...由于无法直接从给定文件的重复链接中提取具体内容,以上内容为对面向对象分析与设计的一般性介绍,以确保满足您所要求的详细知识点说明。希望这些内容有助于增进您对面向对象方法的理解。
面向对象软件工程是一种现代的软件开发方法,它基于对象的概念,强调模块化、可重用性和灵活性。本教程“实用面向对象软件工程教程”旨在深入探讨面向对象分析(OOA)和面向对象设计(OOD)的关键原则,帮助开发者...
面向过程、面向对象、面向组件、面向服务软件架构的分析与比较 软件开发历程与架构演进 软件开发从汇编语言、过程式语言、面向对象、面向组件发展到面向服务,这一进程不仅反映了编程技术的不断进步,更是软件工程...
《面向对象软件工程》 作者:Stephen.R.Schach 学校:(美)范德比尔特大学 书名原名:Objected-Oriented Software Engineering 目录: 第一部分 面向对象软件工程简介 第一章 面向对象软件工程的范畴 第二章 ...
尽管JavaScript不是传统意义上的面向对象语言,但它提供了一些独特的特性,使其能够支持面向对象编程。 - **原型链**:JavaScript使用原型链来实现继承。每个对象都有一个内部属性[[Prototype]],指向其原型对象。...
C++是一种强大的编程语言,以其面向对象特性而闻名,它结合了过程化编程和面向对象编程的优势。在“C++面向对象程序设计教程——课件PPT”中,我们可以深入学习这一主题,由陈维兴和林小茶编著,清华大学出版社出版...
Matlab面向对象编程是一种在MATLAB环境下通过面向对象的方法来组织和构造程序代码的技术。面向对象编程(OOP)的基本特征包括抽象、封装、继承和多态。以下是根据给定的文件信息,对这些知识点的详细解释: 1. 抽象:...
C++是一种强大的、通用的编程语言,以其支持面向对象编程(OOP)而闻名。面向对象编程是一种设计和实现软件的方式,它强调将现实世界的问题和解决方案映射到计算机程序中的对象。本资料包“C++面向对象程序设计 经典...
codesys面向对象的方法属性动作接口 codesys面向对象的方法属性动作接口是指在codesys中实现面向对象编程的方法、属性和动作接口。这种接口允许用户在codesys中实现面向对象编程,使用继承、多态和封装等面向对象...
用 C 语言实现面向对象编程,我曾经在嵌入式控制系统工作过,苦于嵌入式系统编程一直是 C 语言,而没法用 C++或其他高级 语言的面向对象方法编程。经过研究生的学习和探索,...本人将其总结如下,希望对大家有帮助。
《面向对象程序设计:C++语言描述(原书第2版)》内容丰富,结构合理,写作风格严谨,深刻地论述了c++语言的面向对象编程的各种技术,主要内容包括:面向对象编程方法、c++语言的各种特性、stl、c++输入/输出流、mfc等。...
面向对象设计(Object-Oriented Design,OOD)是一种软件开发方法,它基于“对象”的概念,将现实世界的问题域转化为计算机程序。UML(Unified Modeling Language)是面向对象设计的一种标准化建模语言,用于可视化...
Python 是一种面向对象的解释型语言,面向对象是其非常重要的特性。《Python 3面向对象编程》通过Python 的数据结构、语法、设计模式,从简单到复杂,从初级到高级,一步步通过例子来展示了Python 中面向对象的概念...
面向对象的世界观认为世界是由各种不同的对象组成,每个对象都有其独特的状态和行为。面向对象的方法论强调系统结构应该直接反映现实世界的结构,即围绕现实世界中的对象来构建系统。从程序设计的角度来看,面向对象...
《UML面向对象建模与设计答案》是一个包含详尽解答的资源,旨在帮助学习者理解和掌握UML(Unified Modeling Language)在面向对象设计中的应用。面向对象建模是软件开发过程中至关重要的一环,它通过可视化的方式...