【问题标题】:can't persist jpa entity in app engine无法在应用引擎中保留 jpa 实体
【发布时间】:2010-04-13 09:00:53
【问题描述】:
   @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 
}

在处理上述 Userx 实体对象时,我遇到了

java.lang.IllegalStateException: Field "entities.Userx.blobs" contains a persistable object that isnt persistent, but the field doesnt allow cascade-persist!

【问题讨论】:

    标签: java google-app-engine jpa


    【解决方案1】:

    我认为您需要添加一个cascade 属性,以便JPA 提供程序可以级联持久化添加到blobs 的新Blobx。目前,JPA 提供程序不能,如错误消息所报告的那样。所以像这样改变它(调整CascadeType以满足您的需求):

    @OneToMany(cascade = CascadeType.ALL)    
    private List<Blobx> blobs;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-09
      • 1970-01-01
      • 2019-04-17
      • 2015-09-18
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 2017-06-05
      相关资源
      最近更新 更多