import javax.transaction.*;
public class JtaTransactionExample {
private static TransactionManager transactionManager;
public static void main(String[] args) {
try {
transactionManager = getTransactionManager();
UserTransaction transaction = transactionManager.getUserTransaction();
transaction.begin();
transaction.commit();
} catch (Exception e) {
transaction.rollback();
}
}
private static TransactionManager getTransactionManager() throws NamingException {
Context context = new InitialContext();
return (TransactionManager) context.lookup("java:/TransactionManager");
}
}
import javax.persistence.*;
public class JpaTransactionExample {
private static EntityManagerFactory entityManagerFactory;
public static void main(String[] args) {
try {
entityManagerFactory = Persistence.createEntityManagerFactory("myPersistenceUnit");
EntityManager entityManager = entityManagerFactory.createEntityManager();
EntityTransaction transaction = entityManager.getTransaction();
transaction.begin();
transaction.commit();
} catch (Exception e) {
transaction.rollback();
} finally {
entityManager.close();
entityManagerFactory.close();
}
}
}
import org.springframework.transaction.annotation.Transactional;
public class SpringTransactionExample {
private static MyRepository myRepository;
@Transactional
public static void main(String[] args) {
try {
myRepository = getMyRepository();
} catch (Exception e) {
}
}
private static MyRepository getMyRepository() {
ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
return context.getBean(MyRepository.class);
}
}