私は Web アプリケーションを作成しています。これを行うために 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/database
- ドライバー: MySQL JDBC ドライバー
perisistence.xml をセットアップしたら、トランザクション マネージャーを実装してエンティティをデータベースにコミットする方法を教えてください。以下に何が欠けていますか?適切な言葉がないため、私の TraactionManager はどのようにデータベースに関連付けられているか、またはデータベースに接続されていますか?
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){
}
}
}