Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

JpaSpecificationExecutor GABUNG + ORDER BY dalam Spesifikasi

Cobalah sesuatu seperti ini (saya berasumsi hewan peliharaan memiliki banyak pemilik):

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);
            }
        };
    }

Ini hanyalah contoh untuk mencari semua hewan peliharaan yang setidaknya satu pemiliknya memiliki nama yang sama dengan ownerName

Tetapi Anda dapat menambahkan metode List<Pet> findByOwnersNameOrderByIdDesc(String ownerName); di repositori Anda sebagai gantinya (sebagai setara dengan Spesifikasi).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Penjelasan Kerangka Ketersediaan Tinggi MySQL – Bagian III:Skenario Kegagalan

  2. Melewati nama kolom sebagai parameter di MySQL

  3. Bagaimana cara mengubah string menjadi tanggal di MySQL?

  4. GROUP BY untuk baris berkelanjutan dalam SQL

  5. Menghubungkan dari jarak jauh ke database MySQL