Как я могу использовать JTA, Persistence и TransactionManager
Я создаю веб-приложение, и я хотел бы использовать JTA для этого, может кто-нибудь направить меня к учебнику или помочь мне с базовым, чтобы это сделать.
Основные темы, которые я хотел бы затронуть:
- Настройка постоянства
- Использование UserTransaction
- Настройка правильного 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){
}
}
}