sql >> Databáze >  >> RDS >> Mysql

Jak porovnat data pomocí mezi klauzule v režimu spánku

Měli byste používat parametry HQL namísto zřetězení.

Vezměte si tento příklad:

Map<String, Object> parameterNameAndValues = new HashMap<String, Object>();

Date startDate;
Date endDate;

// Assign values to startDate and endDate

parameterNameAndValues.put("startDate", startDate);
parameterNameAndValues.put("endDate", endDate);

String hqlQuery = "FROM EntityName WHERE fechaInicio BETWEEN :startDate AND :endDate";

Query query = this.sessionFactory.getCurrentSession().createQuery(hqlQuery);

for (Entry<String, Object> e : parameterNameAndValues.entrySet()) {
    query.setParameter(e.getKey(), e.getValue());
}

return query.list();

Tím se spojí parametry data a hibernace za vás provede potřebné převody, abyste se vyhnuli kontrolám a chybám. Pamatujte, že i když MySQL uloží objekty Date v tomto formátu, ostatní databáze to neudělají a podkope to nápovědu Hibernate.



  1. Projekt Laravel ERR_EMPTY_RESPONSE

  2. Rozdíl časových razítek v hodinách pro PostgreSQL

  3. získat řadu jedinečných hodnot bez oddělování hodnot, které patří do stejného bloku hodnot

  4. MariaDB se po aktualizaci nemůže spustit:[Upozornění] Nelze vytvořit testovací soubor /home/mysql/beta.lower-test