MongoDB中的Hibernate嵌入式实体不';t更新

MongoDB中的Hibernate嵌入式实体不';t更新,hibernate,mongodb,hibernate-ogm,Hibernate,Mongodb,Hibernate Ogm,我正在尝试将名为Data的实体嵌入到另一个名为Workflow的实体中 我想得到这样的东西: { "_id" : ObjectId("my-object-id"), "myproperty" : "myvalue", "data":{ "category":"DataStore", "cullTime":false, "cullSpace":false, "faveColor":"#449d44", "fave

我正在尝试将名为Data的实体嵌入到另一个名为Workflow的实体中

我想得到这样的东西:

{  
   "_id" : ObjectId("my-object-id"),
   "myproperty" : "myvalue",
   "data":{  
      "category":"DataStore",
      "cullTime":false,
      "cullSpace":false,
      "faveColor":"#449d44",
      "faveShape":"ellipse",
      "filter":false,
      "id":"s1",
      "name":"Source",
      "type":"Rainfall"
   }
}

我将我的实体设置如下:

@Embeddable
public class Data{

    private String category; 
    private String faveColor;
    private String faveShape;
    private String id;
    /* and so on with getters and setters */
在我的工作流实体中,我有:

@Entity
@Table(name = "workflows")
public class Workflow { 
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @TableGenerator(name = "workflows")  
    private ObjectId id;
    public String getId() { return id.toString(); }
    public void setId(ObjectId id) { this.id = id; }             
    @Embedded
    private Data data; 
    /* and so on with getters and setters */
在我的数据库服务中,我有:

Session s = HibernateUtil.getSessionFactory().openSession();
Workflow w = (Workflow) s.get(Workflow.class, new ObjectId(UUID));
w.setData(data);
s.update(w);
s.update(obj)的结果成功,但更改不会在数据库中持久化


谢谢您的帮助。

我通过更新后刷新会话解决了此问题

s.update(w);
s.flush();