Natvie SQL Strings

Natvie SQL Strings

Datenbankzugriffe können direkt in SQL (natives SQL Statement) in Form von SQL-Strings übergeben werden. Auf Grund der zahlreichen Nachteile von SQL-Strings sollten diese nur in Ausnahmefällen verwendet werden. Mit JPA-SQL bietet RapidClipse eine elegante Alternative zur Verwendung von SQL-Strings.

Examples:
  • Abfrage einer Tabelle - Liefert alle Datensätze zurück.

    public List<Customer> getAllCustomerNativeSQL() { String SQL = "SELECT * FROM CUSTOMER"; Query nativeQuery = em().createNativeQuery(SQL, Customer.class); List<Customer> resultList = nativeQuery.getResultList(); return resultList; }
  • Abfrage mit Parameter

    public List<Customer> getCustomersByFirstAndLastname(String lastname, String firstname) { String SQL = "SELECT * FROM CUSTOMER WHERE Lastname LIKE ? AND Firstname LIKE ?"; Query nativeQuery = em().createNativeQuery(SQL, Customer.class); nativeQuery.setParameter(1, lastname); nativeQuery.setParameter(2, firstname); List<Customer> resultList = nativeQuery.getResultList(); return resultList; }
  • Datensatz über die ID suchen

    public Customer getCustomersByID(Integer ID) { String SQL = "SELECT * FROM CUSTOMER WHERE ID = ?"; Query nativeQuery = em().createNativeQuery(SQL, Customer.class); nativeQuery.setParameter(1, ID); Customer singleResult = (Customer) nativeQuery.getSingleResult(); return singleResult; }
Hinweis:



  • Vorteile von SQL-Strings

    • Absetzen beliebiger, auch proprietärer SQL-Statements möglich

    • Anfangs einfacher als Java Query APIs, z.B. JPA Criteria API

  • Nachteile von SQL-Strings 





XDEV Software Corp. - One Embarcadero Center, San Francisco, CA 94111, US
Copyright © 2015. XDEV Software Corp. All rights reserved.