use of com.haulmont.cuba.core.entity.QueryResult in project cuba by cuba-platform.
the class QueryResultTest method test.
@Test
public void test() {
Transaction tx;
javax.persistence.EntityManager emDelegate;
EntityManager em;
Query query;
UUID sessionId = UUID.randomUUID();
int queryKey = 1;
tx = cont.persistence().createTransaction();
try {
emDelegate = cont.persistence().getEntityManager().getDelegate();
QueryResult queryResult = new QueryResult();
queryResult.setSessionId(sessionId);
queryResult.setQueryKey(queryKey);
queryResult.setEntityId(UUID.fromString("60885987-1b61-4247-94c7-dff348347f93"));
emDelegate.persist(queryResult);
tx.commitRetaining();
em = cont.persistence().getEntityManager();
query = em.createQuery("select u from sec$User u, sys$QueryResult qr " + "where qr.entityId = u.id and qr.sessionId = ?1 and qr.queryKey = ?2");
query.setParameter(1, sessionId);
query.setParameter(2, queryKey);
query.setView(new View(User.class).addProperty("login").addProperty("name").addProperty("group", new View(Group.class).addProperty("name")));
// OpenJPAQuery openJPAQuery = (OpenJPAQuery) query.getDelegate();
// Map params = new HashMap();
// params.put(1, sessionId);
// params.put(2, queryKey);
// String[] dataStoreActions = openJPAQuery.getDataStoreActions(params);
//
// System.out.println(dataStoreActions);
List<User> list = query.getResultList();
assertEquals(1, list.size());
User user = list.get(0);
assertEquals("admin", user.getLogin());
tx.commit();
} finally {
tx.end();
}
}
Aggregations