Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

can't persist jpa entity in app engine

   @Entity
   public class Blobx {

        private String name;
        private BlobKey blobKey;

        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private Key id;

        //getters and setters 
     }
@Entity
public class Userx  {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Key id;
    private String name;
    @OneToMany
    private List<Blobx> blobs;
    //getters and setters 
}

while persiting the above Userx entity object i am encountering

java.lang.IllegalStateException: Field "entities.Userx.blobs" contains a persistable object that isnt persistent, but the field doesnt allow cascade-persist!
like image 732
Bunny Rabbit Avatar asked Apr 13 '10 09:04

Bunny Rabbit


1 Answers

I think you need to add a cascade attribute so that the JPA provider can cascade persist on the new Blobx added to the blobs. Currently, the JPA provider can't, as reported by the error message. So change it like this (adapt the CascadeType to match your needs):

@OneToMany(cascade = CascadeType.ALL)    
private List<Blobx> blobs;
like image 112
Pascal Thivent Avatar answered Sep 21 '22 03:09

Pascal Thivent