P E N C I L
Login
Transaction manager
  1. http://docs.spring.io/spring/docs/current/spring-framework-reference/html/transaction.html
  2. Spring context
    1. <tx:annotation-driver transaction-manager="transactionManager"/>
      1. Attribute transaction-manager: default transaction manager
        @Trasactional()  > use default
        @Transactional("mymaanger") > use my
    2. PlatformTransactionManager:
      <bean class=class="org.springframework.orm.hibernate3.HibernateTransactionManager"><property name=sessionFactory></>
      Depends on the resource, differnt  PlatformTransactionManager are required
      1. DataSourceTransactionManager : refer to datasource
      2. JtaTransactionManager: use container global transaction manager
      3. org.springframework.orm.hibernate5.HibernateTransactionManager" refers to LocalSessionFactoryBean
      4. JpaTransactionManager
  3. Isolation and Propagation: 
    1. https://techannotation.wordpress.com/2012/05/29/5-minutes-with-jpa-transaction/
    2. REQUIRED (contiune), REQUIRE_NEW: create new, NESTED: one transaction but save point using JDBC
      MANDATORY