Transactions 交易问题
显然,我在这方面真的错了 在没有事务的情况下,如何从读取中获得不一致的结果Transactions 交易问题,transactions,Transactions,显然,我在这方面真的错了 在没有事务的情况下,如何从读取中获得不一致的结果 编辑——最初的问题是在nhibernate的背景下提出的。这是nhibernate特有的吗?不,它不是hibernate特有的 简短回答:事务是“原子工作单元”,具有一致的世界观。一旦事务被保留,受保护的“视图”就需要用世界视图(committed)进行纠正——或者,在只读事务的情况下,一致性视图可以简单地被免除(它只需要在事务期间保持一致) 更详细的回答:有许多不同类型的事务(未提交读取、提交读取、可序列化、可重复读
编辑——最初的问题是在nhibernate的背景下提出的。这是nhibernate特有的吗?不,它不是hibernate特有的 简短回答:事务是“原子工作单元”,具有一致的世界观。一旦事务被保留,受保护的“视图”就需要用世界视图(committed)进行纠正——或者,在只读事务的情况下,一致性视图可以简单地被免除(它只需要在事务期间保持一致) 更详细的回答:有许多不同类型的事务(未提交读取、提交读取、可序列化、可重复读取等)会影响细节 请参见和--后者需要单击几个链接才能找到:-) 想象一下这个快速设计的序列,A和B使用DB表示不同的参与者,每个动作都在它自己的一次性隐式事务中运行(除此之外什么都没有):
请参阅隔离wiki文章的“示例查询”部分。不,它不是特定于hibernate的 简短回答:事务是“原子工作单元”,具有一致的世界观。一旦事务被保留,受保护的“视图”就需要用世界视图(committed)进行纠正——或者,在只读事务的情况下,一致性视图可以简单地被免除(它只需要在事务期间保持一致) 更详细的回答:有许多不同类型的事务(未提交读取、提交读取、可序列化、可重复读取等)会影响细节 请参见和--后者需要单击几个链接才能找到:-) 想象一下这个快速设计的序列,A和B使用DB表示不同的参与者,每个动作都在它自己的一次性隐式事务中运行(除此之外什么都没有):
请参阅Isolation wiki文章的“示例查询”部分。没错,但是如果服务器操作正在执行单次读取,那么当写入的并发操作没有正确的事务隔离类型时,不会发生未提交的读取类型错误吗?@hvgotcodes我将稍微限定我前面的注释。如果您只是在SQL Server中执行单次读取,则不必担心事务,因为您将自动执行隐式事务。对,但如果服务器操作正在执行单次读取,那么,当写入的并发操作没有正确的事务隔离类型时,是否会发生未提交的读取类型错误?@hvgotcodes我将稍微限定我前面的注释。如果您只是在SQL Server中执行一次读取,您就不必担心事务,因为您将自动处于隐式事务中。