0
當我在MySQL中使用JPA時,下面的查詢工作正常。但是當我在ObjectDB中使用它時,它會拋出下面的異常。jpa條件似乎工作(或不),這取決於db是mysql還是objectdb
public Friendship getFriendship(String username) {
CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder();
CriteriaQuery<Friendship> query = criteriaBuilder.createQuery(Friendship.class);
Root<Friendship> root = query.from(Friendship.class);
Path<String> path = root.<String>get("username");
query.where(criteriaBuilder.equal(path, username));
return em.createQuery(query).getSingleResult();
}
誤差從瀏覽器
type Exception report
message
descriptionThe server encountered an internal error() that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: com.objectdb.o._PersistenceException: Unexpected query token 'FROM' (SELECT is expected)
root cause
com.objectdb.o._PersistenceException: Unexpected query token 'FROM' (SELECT is expected)
root cause
com.objectdb.o.UserException: Unexpected query token 'FROM' (SELECT is expected)
這是EclipseLink。但我認爲JPA是java界面,應該是盲目的實現?實施是否重要? – kasavbere
更正:對於'objectdb'版本,我使用'com.objectdb.jpa.Provider'。對於'MySQL'版本,我使用'org.eclipse.persistence.jpa.PersistenceProvider'。顯然,它們都是'EclipseLink'。 – kasavbere
在執行查詢之前,嘗試添加'criteriaBuilder.select(root);'。 – JMelnik