@Override public Sku readFirstSku() { TypedQuery<Sku> query = em.createNamedQuery("BC_READ_FIRST_SKU", Sku.class); return query.getSingleResult(); }
@Override public Customer findByEmailAddress(EmailAddress emailAddress) { TypedQuery<Customer> query = em.createQuery("select c from Customer c where c.emailAddress = :email", Customer.class); query.setParameter("email", emailAddress); return query.getSingleResult(); } }
@Override public Long readNumberOfOrderItems() { CriteriaBuilder builder = em.getCriteriaBuilder(); CriteriaQuery<Long> criteria = builder.createQuery(Long.class); criteria.select(builder.count(criteria.from(OrderItemImpl.class))); TypedQuery<Long> query = em.createQuery(criteria); return query.getSingleResult(); }
@Test public void test_jpql_api_hibernate_named_query_example() { doInJPA( this::entityManagerFactory, entityManager -> { //tag::jpql-api-hibernate-named-query-example[] Phone phone = entityManager .createNamedQuery( "get_phone_by_number", Phone.class ) .setParameter( "number", "123-456-7890" ) .getSingleResult(); //end::jpql-api-hibernate-named-query-example[] assertNotNull( phone ); }); }
@Override public boolean existsById(ID id) { Assert.notNull(id, ID_MUST_NOT_BE_NULL); if (entityInformation.getIdAttribute() == null) { return findById(id).isPresent(); } String placeholder = provider.getCountQueryPlaceholder(); String entityName = entityInformation.getEntityName(); Iterable<String> idAttributeNames = entityInformation.getIdAttributeNames(); String existsQuery = QueryUtils.getExistsQueryString(entityName, placeholder, idAttributeNames); TypedQuery<Long> query = em.createQuery(existsQuery, Long.class); if (!entityInformation.hasCompositeId()) { query.setParameter(idAttributeNames.iterator().next(), id); return query.getSingleResult() == 1L; } for (String idAttributeName : idAttributeNames) { Object idAttributeValue = entityInformation.getCompositeIdAttributeValue(id, idAttributeName); boolean complexIdParameterValueDiscovered = idAttributeValue != null && !query.getParameter(idAttributeName).getParameterType().isAssignableFrom(idAttributeValue.getClass()); if (complexIdParameterValueDiscovered) { // fall-back to findById(id) which does the proper mapping for the parameter. return findById(id).isPresent(); } query.setParameter(idAttributeName, idAttributeValue); } return query.getSingleResult() == 1L; }
public ApiToken findApiToken(String token) { try { return em.createNamedQuery("ApiToken.findByTokenString", ApiToken.class) .setParameter("tokenString", token) .getSingleResult(); } catch (NoResultException ex) { return null; } }
@Override public Long readNumberOfOrders() { CriteriaBuilder builder = em.getCriteriaBuilder(); CriteriaQuery<Long> criteria = builder.createQuery(Long.class); criteria.select(builder.count(criteria.from(OrderImpl.class))); TypedQuery<Long> query = em.createQuery(criteria); return query.getSingleResult(); } }
TypedQuery<SampleEntity> query = em.createNamedQuery(namedQuery, SampleEntity.class); query.getSingleResult();
@Test public void testWithoutComma() { doInJPA( this::entityManagerFactory, entityManager -> { Date now = entityManager.createQuery( "select FUNCTION('now') " + "from Event " + "where id = :id", Date.class) .setParameter( "id", 1L ) .getSingleResult(); log.infof( "Current time: {}", now ); } ); }
public DvObject findDvObject(Long id) { try { return em.createNamedQuery("DvObject.findById", DvObject.class) .setParameter("id", id) .getSingleResult(); } catch (NoResultException | NonUniqueResultException ex) { return null; } }
public long count(Class<?> clazz) { CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery<Long> cq = cb.createQuery(Long.class); cq.select(cb.count(cq.from(clazz))); return em.createQuery(cq).getSingleResult(); }
@Test public void testWithComma() { doInJPA( this::entityManagerFactory, entityManager -> { Date now = entityManager.createQuery( "select FUNCTION('now',) " + "from Event " + "where id = :id", Date.class) .setParameter( "id", 1L ) .getSingleResult(); log.infof( "Current time: {}", now ); } ); }
ForeignMetadataFormatMapping findFormatMappingByName (String name) { try { return em.createNamedQuery("ForeignMetadataFormatMapping.findByName", ForeignMetadataFormatMapping.class) .setParameter("name", name) .getSingleResult(); } catch ( NoResultException nre ) { return null; } }
@Override public Long readNumberOfCustomers() { CriteriaBuilder builder = em.getCriteriaBuilder(); CriteriaQuery<Long> criteria = builder.createQuery(Long.class); criteria.select(builder.count(criteria.from(CustomerImpl.class))); TypedQuery<Long> query = em.createQuery(criteria); return query.getSingleResult(); } }
@Test public void test_hql_collection_qualification_associations_5() { doInJPA( this::entityManagerFactory, entityManager -> { Long id = 1L; Integer phoneIndex = 0; //tag::hql-collection-qualification-example[] // Sum all call durations for a given Phone of a specific Person Long duration = entityManager.createQuery( "select sum(ch.duration) " + "from Person pr " + "join pr.phones ph " + "join ph.callHistory ch " + "where ph.id = :id " + " and index(ph) = :phoneIndex", Long.class ) .setParameter( "id", id ) .setParameter( "phoneIndex", phoneIndex ) .getSingleResult(); //end::hql-collection-qualification-example[] assertEquals(45, duration.intValue()); }); }
public DataverseRole findBuiltinRoleByAlias(String alias) { return em.createNamedQuery("DataverseRole.findBuiltinRoleByAlias", DataverseRole.class) .setParameter("alias", alias) .getSingleResult(); }
@Override public Long readNumberOfAddresses() { CriteriaBuilder builder = em.getCriteriaBuilder(); CriteriaQuery<Long> criteria = builder.createQuery(Long.class); criteria.select(builder.count(criteria.from(CustomerAddressImpl.class))); TypedQuery<Long> query = em.createQuery(criteria); return query.getSingleResult(); }
@Test public void test_hql_numeric_arithmetic_example_1() { doInJPA( this::entityManagerFactory, entityManager -> { //tag::hql-numeric-arithmetic-example[] // select clause date/time arithmetic operations Long duration = entityManager.createQuery( "select sum(ch.duration) * :multiplier " + "from Person pr " + "join pr.phones ph " + "join ph.callHistory ch " + "where ph.id = 1L ", Long.class ) .setParameter( "multiplier", 1000L ) .getSingleResult(); //end::hql-numeric-arithmetic-example[] assertTrue(duration > 0); }); }
public IpGroup getByGroupName( String alias ) { try { return em.createNamedQuery("IpGroup.findByPersistedGroupAlias", IpGroup.class) .setParameter("persistedGroupAlias", alias) .getSingleResult(); } catch ( NoResultException nre ) { return null; } }
@Override public long count() { return em.createQuery(getCountQueryString(), Long.class).getSingleResult(); }