关于 java 持久性和休眠的查询对象

Query object on java persistence and hibernate

查询对象有什么区别:

我应该使用哪一个,为什么?

首先,根据您问题的标签,javax.management.Query 与您无关,因为它处理的是 MBean,而不是数据库查询。

现在关于 javax.persistence.Query 与 org.hibernate.Query。

这在很大程度上取决于您的目标。

如果您打算在项目中继续使用 Hibernate,请使用 org.hibernate.Query,因为它提供了比标准接口更有用的方法。但是,如果您打算切换到另一个供应商,如 EclipseLink,您应该使用两者的标准接口,即 javax.persistence.Query.

https://docs.jboss.org/hibernate/orm/3.2/api/org/hibernate/Query.html http://docs.oracle.com/javaee/6/api/javax/persistence/Query.html