我如何利用JTA,Persistence和TransactionManager

时间:2013-01-09 19:11:55

标签: java model-view-controller persistence jta

我正在创建一个Web应用程序,我想利用JTA来做到这一点,有人可以指导我一个教程,或者带我完成基本操作。

我想谈的主要议题是:

  1. 设置持久性
  2. 使用UserTransaction
  3. 设置正确的TransactionManagement
  4. 我认为必须完成这项工作(摘要)

    // 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;
        }
    }
    

    使用上面的Entity和下面的特定数据库,我的persistence.xml会是什么样的?

    • DataBase 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){
              }
        }     
    }
    

0 个答案:

没有答案