我正在创建一个 Web 应用程序,我想利用 JTA 来做到这一点,有人可以指导我阅读教程或引导我完成基本操作。
我想谈的主要话题是:
- 设置持久性
- 使用用户事务
- 设置适当的 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/database
- 驱动程序:MySQL JDBC 驱动程序
现在,一旦我设置了 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){
}
}
}