Datanucleus JPA是否支持MongoDB
例如:
entityManager.createNativeQuery("db.Movie.find()");
答案 0 :(得分:1)
做你正在做的事情没有多大意义。我的意思是你可以访问底层的MongoDB" DB"对象(JPA正在使用)并使用本机MongoDB API执行操作,而不是期望DataNucleus发明一些分层的人工查询语言(此字符串db.BLAH.find()不存在于MongoDB中本机API,而不是db.getCollection(" BLAH"),然后施加约束等,最后调用find())。相反,你可以尝试(像这样)
import org.datanucleus.ExecutionContext;
import org.datanucleus.store.NucleusConnection;
ExecutionContext ec = em.unwrap(ExecutionContext.class);
NucleusConnection conn = ec.getStoreManager().getNucleusConnection(ec);
DB db = (DB)conn.getNativeConnection();
此后您要使用DB对象,使用后应调用
conn.close();
将其交还给JPA(DataNucleus)。