RequestFactoryを使用しようとしていますが、既存のレコードを変更できません。org.hibernate.PersistentObjectExceptionが発生し続けます:何が問題なのかわからないのに、デタッチされたエンティティが永続化に渡されます。
私は次のクラスを持っています:
@Service(Product.class)
public interface ProductRequest extends RequestContext {
Request<Long> countProducts();
Request<ProductProxy> findProduct(Long id);
Request<List<ProductProxy>> findAllProducts();
InstanceRequest<ProductProxy, Void> persist();
InstanceRequest<ProductProxy, Void> remove();
}
すべての製品を一覧表示する関数(findAllProducts()を介して取得)があり、1つの製品を変更したいと思います。この目的のために、私は次のコードを使用します。
public void changeProductDetails(ProductProxy prod) {
ProductRequest newProductRequest = MyApplication.getRequestFactory().productRequest();
ProductProxy editedProduct = newProductRequest.edit(prod);
editedProduct.setPurpose("new purpose string");
newProductRequest.persist().using(editedProduct).fire(new Receiver<Void>() {
@Override
public void onSuccess(Void arg0)
{
System.out.println("Product changed");
}
});
}