小编nep*_*une的帖子

java.lang.IllegalArgumentException:删除分离的实例com.test.User#5

我有一个使用JPA(transaction-type ="JTA")的java EE项目,hibernate作为提供者.我写我的bean来处理CRUD的事情.该程序在JBOSS 7 AS中运行.

我有一个EntityManagerDAO:

@Stateful
public class EntityManagerDao implements Serializable {

    @PersistenceContext(unitName = "dtdJpa")
    private EntityManager entityManager;

    @TransactionAttribute(TransactionAttributeType.REQUIRED)
    public Object updateObject(Object object) {
        object = entityManager.merge(object);
        return object;
    }

    @TransactionAttribute(TransactionAttributeType.REQUIRED)
    public void createObject(Object object) {
        entityManager.persist(object);
    }

    public void refresh(Object object) {
        entityManager.refresh(object);
    }

    public <T> T find(Class<T> clazz, Long id) {
        return entityManager.find(clazz, id);
    }

    @TransactionAttribute(TransactionAttributeType.REQUIRED)
    public void deleteObject(Object object) {
        entityManager.remove(object);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是当我调用时deleteObject,会出现这个异常.

java.lang.IllegalArgumentException:删除分离的实例com.test.User#5

这是怎么造成的,我该如何解决?

jpa entitymanager illegalargumentexception sql-delete

51
推荐指数
1
解决办法
7万
查看次数

@DefaultValue 与 RESTful 框架中的 @PathParameter 不兼容

我收到一个要求,我需要 a 的默认值@PathParameter

这就是我的代码的样子:

    @GET
    @Path("/family/{member}")
    public Response responseMsg( @DefaultValue("Father") @PathParam("member")  String pathParameter) {}
Run Code Online (Sandbox Code Playgroud)

编译器不会显示任何错误,应用程序当然也不会按照我的预期运行。

因为 uri "/family/ null" 不会匹配路径 " /family/{member}" 而是 " /family/"

我可以知道是否有任何方法可以为 a 指定默认值@PathParam以及如何指定?我还想知道是否 @DefaultValue只兼容 @QueryParameter

java rest

5
推荐指数
1
解决办法
5845
查看次数