摘要:
异常为: org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: 意思是拥有相同的数据库标识符(代表数据库中的同一条记录),但是具有不同的持久化标识符。 解决办法 1 做一个动作将session关闭 调用Session的 close方法 ,Session的缓存被清空,其中的所有持久化对象都变为游离对象, 2 调用Session的evict()方法能够从缓存中删除一个持久化对象,使其... 阅读全文
摘要:
最近看了下windows核心编程,虽然是比较老的书,但是感觉还是蛮有用的,顺便复习了一些操作系统的知识,比如本文的进程同步机制 用户模式下的线程同步 线程之间需要通信: 1.需要让多个线程同时访问一个共享资源,同时不能破坏资源的完整性 2.一个线程需要通知其他线程某项任务已经完成 方法一:原子访问:Interlocked系列函数 InterlockedExchangeAdd(long & ,int ); InterlockedIncrement; InterlockedExchange;(实现旋转锁是有用) 必须保证传给这些函数的变量地址是对齐的,否则函数可能失败 inte... 阅读全文
摘要:
数据库事务是由一系列的动作组成的,这些动作被当作单独的一个工作单位。这些动作要么被全部完整执行,要么全部不被执行。事务管理是关系数据中一个重要的部分, 企业级应用使用事务来保证数据的完整性和一致性,可以使用以下四个属性来描述事务 1 原子性 一个事务应该被当作一个单独的操作单位被执行,也就是说这一连串的操作被执行成功或者不成功。 2 一致性 这个代表数据库参照完整性的一致性,表中存在唯一主键 3 隔离性 在同一个时刻可能会有多个事务的进程操作同一个数据集,每一个事务应该同其他的事务隔离,防止数据被篡改 4 持久性 一旦事务被执行成功,事务的结果需要被持久化,并且不能因为系统错... 阅读全文