$ _SERVER ['REQUEST_URI'] - дублированный контент

  • Метод createQuery используется для создания динамических запросов, которые являются запросами, определенными непосредственно в бизнес-логике приложения. Пример:
    public List findWithName(String name) {
    return em.createQuery(
    "SELECT c FROM Customer c WHERE c.name LIKE :custName")
    .setParameter("custName", name)
    .setMaxResults(10)
    .getResultList();
    }
    
  • Метод createNamedQuery используется для создания статических запросов или запросов, определенных в метаданных, с помощью аннотации javax.persistence.NamedQuery. Элемент name @NamedQuery указывает имя запроса, который будет использоваться с методом createNamedQuery. Элемент запроса @NamedQuery - это запрос:
    @NamedQuery(
    name="findAllCustomersWithName",
    query="SELECT c FROM Customer c WHERE c.name LIKE :custName"
    )
    
  • Вот пример createNamedQuery, который использует @NamedQuery:

        @PersistenceContext
        public EntityManager em;
        ...
        customers = em.createNamedQuery("findAllCustomersWithName")
        .setParameter("custName", "Smith")
        .getResultList();
    
    • createNativeQuery Создайте экземпляр Query для выполнения собственного оператора SQL. вот несколько причин выбора createNativeQuery: доступ на низком уровне, что означает, что вы можете оптимизировать и обрабатывать отображение самостоятельно; с SQL вы фактически получаете доступ к таблице базы данных, а с JPQL - к объектам сущности; Возможно, вы не хотите изучать JPQL, если уже знаете SQL. У вас уже есть запросы, написанные на SQL, и у вас нет ресурсов / времени для их переноса на JPQL

    . Для получения более подробной информации посетите те Ссылки:

    Создание запросов с использованием языка запросов на сохранение Java

    JPA зачем использовать createNamedQuery

    Почему нам нужно создать собственный запрос?

-1
задан danko12 15 January 2019 в 21:18
поделиться