package com.hantsylabs.example.spring.annotation; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Transactional(propagation=Propagation.REQUIRED) @Repository public @interface TransactionalRepository { String value() default ""; }