在我发现 tynamo 和 resteasy 集成时,我遇到了保存数据的问题,我部分解决了(所以我将部分分享它;))。用户指南在这里:http ://docs.codehaus.org/display/TYNAMO/tapestry-resteasy+guide
我写了一个休息服务,允许在我的系统用户中注册“用户”:
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 命令),但是这个服务永远不会持久化任何东西。似乎该事务从未提交。
我正在使用 0.3.0 版本的 Tapestry-model-hibernate 和 Tapestry-resteasy :
<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>
请参阅上面的答案,但如果您找到更好的方法,请告诉我。