Как я могу использовать JTA, Persistence и TransactionManager

Я создаю веб-приложение, и я хотел бы использовать JTA для этого, может кто-нибудь направить меня к учебнику или помочь мне с базовым, чтобы это сделать.

Основные темы, которые я хотел бы затронуть:

  1. Настройка постоянства
  2. Использование UserTransaction
  3. Настройка правильного TransactionManagement

То, что я предполагаю, было бы необходимо, чтобы сделать это (фрагмент)

// My Model/Entity to be inserted into the database

@Entity
@XmlRootElement
public class Member implements Serializable {

    @Id
    @GeneratedValue
    private Long id;

    @NotNull
    @NotEmpty
    @Email
    private String email;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

Как будет выглядеть мой файл persistence.xml с сущностью выше и базой данных ниже?

  • URL базы данных: jdbc:mysql://localhost:3306/ база данных
  • Драйвер: MySQL JDBC Driver

Теперь, когда у меня настроен perisistence.xml, как мне реализовать диспетчер транзакций для фиксации сущности в базе данных. Что мне не хватает ниже? Как мой TranactionManager связан или связан с моей базой данных из-за отсутствия лучших слов?

public class UserRegistration{
        @Resource
        UserTransaction  transaction;

public void register(Member member) throws Exception {
          try{
                transaction = (UserTransaction)new InitialContext().lookup("java:comp/UserTransaction");
                transaction.begin();
                Member member = new Member();
                member.setEmail("test@hotmail.com");
                member.setId(23L);
                member.setName("tester1");      
                transaction.commit();
          }
          catch(Exception e){
          }
    }     
}

0 ответов

Другие вопросы по тегам