Mysql
 sql >> Baza danych >  >> RDS >> Mysql

JpaSpecificationExecutor JOIN + ORDER BY w specyfikacji

Spróbuj czegoś takiego (zakładałem, że zwierzak ma wielu właścicieli):

public static Specification<Pet> ownerNameEqual(String ownerName) {
        return new Specification<Pet>() {
            @Override
            public Predicate toPredicate(Root<Pet> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
                Join<Pet, Owner> owners = root.join("owners");
                criteriaQuery.orderBy(criteriaBuilder.desc(root.get("id")));
                return criteriaBuilder.equal(owners.get("name"), ownerName);
            }
        };
    }

To tylko przykład wyszukiwania wszystkich zwierząt, których co najmniej jeden właściciel ma imię równe ownerName

Ale możesz dodać metodę List<Pet> findByOwnersNameOrderByIdDesc(String ownerName); zamiast tego w repozytorium (jako odpowiednik specyfikacji).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pobierz ścieżkę drzewa w tabeli MySQL

  2. Po co usuwać init_command set engine=INNODB django DATABASE_OPTIONS po utworzeniu tabeli?

  3. jak pobrać plik oparty na blob z bazy danych MySQL w PHP?

  4. Czy mogę utworzyć dynamiczny plik .htaccess?

  5. AKTUALIZACJA MySQL:5 najważniejszych wskazówek dla programistów T-SQL