tynamo と resteasy の統合の発見で、データの保存に関する問題に直面しており、それを部分的に解決しました (そのため、部分的に共有します ;))。ユーザーガイドはこちら: http://docs.codehaus.org/display/TYNAMO/tapestry-resteasy+guide
システム users に「ユーザー」登録を許可する残りのサービスを作成しました。
package com.myorg.mobile.pushup.rest;
//[...]
/**
* bla blah obfuscated pretty comments.
*
* @author jrrevy
*
*/
@Path("/user")
public class UserResource {
private Session session;
/**
* Constructeur du service
*
* @param session
* Hibernate session
*/
public UserResource(Session session) {
this.session = session;
}
/**
* Lecture de tous les utilisateurs
*
* @return une liste des utilisateurs existants
*/
@GET
@Produces("application/json")
public List<User> getAllDomains() {
return session.createCriteria(User.class).list();
}
/**
* Create User.
*
* @param user
* user to create
* @return a Web Response
*/
@POST
@PUT
@Produces({ "application/xml", "application/json" })
public Response createOrUpdate(User user) {
session.saveOrUpdate(user);
return Response.ok().build();
}
データベースへのアクセスはうまく機能しますが (ユーザーを元に戻し、INSERT INTO コマンドをログに記録します)、このサービスは何も持続しません。トランザクションはコミットされていないようです。
tapestry-model-hibernate と tapestry-resteasy の 0.3.0 バージョンを使用しています:
<dependencies>
<dependency>
<groupId>org.tynamo</groupId>
<artifactId>tapestry-model-hibernate</artifactId>
<version>0.3.0</version>
</dependency>
<dependency>
<groupId>org.tynamo</groupId>
<artifactId>tapestry-resteasy</artifactId>
<version>0.3.0</version>
</dependency>
</dependencies>
上記の私の回答を参照してください。より良い方法が見つかった場合は教えてください。