如何使用hibernate ogm 5.1.0从mongodb v3.4中删除数据?

时间:2017-10-08 18:10:22

标签: java mongodb hibernate-ogm

我只能使用Hibernate OGM 5.1.0.Final在mongo DB v 3.4中检索数据和插入数据。我无法执行删除操作或更新操作。任何人都可以帮我解决一个例子吗?

1 个答案:

答案 0 :(得分:0)

这个问题有点模糊,我不确定你是否知道如何用Hibernate OGM删除一个实体并且它不起作用(在这种情况下请发布你的代码示例)或者你不知道如何JPA有效。我假设你不知道如何删除实体并添加一些如何做的例子。

使用会话:

try ( Session session = openSession() ) {
    Transaction transaction = session.beginTransaction();
    Hypothesis entity = (Hypothesis) session.get( Hypothesis.class, hyp.getId() );
    session.delete( entity );
    transaction.commit();
}

使用EntityManager(JPA):

final EntityManager em = emf.createEntityManager();
try {
  em.getTransaction().begin();
  Poem poem = em.find( Poem.class, poem.getId() );
  em.remove( poem );
  em.getTransaction().commit();
}
finally {
  em.close();
}

使用MonogDB CLI API:

try ( OgmSession session = openSession() ) {
  Transaction transaction = session.beginTransaction();
  String nativeQuery = "db.Poem.remove({ '_id': { '$numberLong': '11' } })";
  Query query = session.createNativeQuery( nativeQuery ).addEntity( Poem.class );
  query.executeUpdate();
}

关于更新,我会将其留给Hibernate ORM documentation。 如果这不能回答您的问题,请尝试详细说明。测试用例总是受到赞赏。