1

메소드에서 Transaction() 속성을 사용할 때 기본 격리 수준은 ReadCommitted입니다. Spring.NET 구성의 ReadUncommitted (현재 존재하는 모든 트랜잭션 속성 정의를 수정하지 않도록)의 기본 격리 수준을 설정합니다.Spring.Net에서 Transaction 속성을 사용할 때 기본 격리 수준을 어떻게 대체합니까?

어떻게해야합니까? Spring.NET 1.2로 할 수 있습니까?

나는 tx : advice 등을 사용하여 the documentation을 따르려고 노력했다.

나는 Reflector를 사용하여 Spring의 코드를 밟아 왔지만, Spring의 메소드에서 Attribute 선언의 설정을 읽는 것만으로도 이해할 수있다.

코드를 검토하고 필요에 따라 속성을 수정해야합니까?

답변

0

나는 보통 예 : 사용 :

[Transaction(IsolationLevel.ReadUncommitted)] 

를 내 저장소 방법에. 그리고 그것은 <tx:attribute-driven transaction-manager="HibernateTransactionManager"/>과 결합하여 작동합니다.

<object 
    name="HibernateTransactionManager" 
    type="Spring.Data.NHibernate.HibernateTransactionManager, Spring.Data.NHibernate32" 
    dependency-check="none"> 
    <property name="DbProvider" ref="MsSqlDbProvider"/> 
    <property name="SessionFactory" ref="SessionFactory"/> 
</object> 
+0

감사합니다. 실제로 [Transaction()]을 사용하면서 isolationLevel.ReadUncommitted의 기본값 (모든 메서드에 대한)을 설정 파일에서 설정하여이 작업을 실제로 피할 수 있는지 확인하려고합니다. 나는 그것이 불가능하다고 생각한다 :-( –

0

표준 트랜잭션 인터셉터를 확장하는 자체 트랜잭션 인터셉터를 생성 할 수 있어야합니다. 그리고 당신이 참조한 TransactionProxyFactoryObject 대신 ObjectNameAutoProxyCreator를 사용하여 그 하나를 연결합니다.

+0

내가 이것을 코딩하려고 노력할 시간을 찾으면, 그러나 그것은 아마 곧 없을 것이다. – Marijn