0

MySQL で JPA を使用すると、以下のクエリが正常に機能します。しかし、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)
4

1 に答える 1

0

上記のとおり (およびエラー メッセージで示されているように)、選択がありません。

有効な JPQL クエリには SELECT が含まれている必要があります。そうでない場合、クエリは不完全です。

一部の JPA 実装は、SELECT を使用しないクエリをサポートすることで、標準の JPQL を拡張します。

于 2012-10-04T12:36:18.247 に答える