SpringbootJPAはdistinctを使用してオブジェクトを返します

package com.frank.jpaBatchSave.repository;

import com.frank.jpaBatchSave.entity.Person;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface PersonRepository extends PagingAndSortingRepository<Person, Integer> {

//    https://blog.csdn.net/zccbbg/article/details/84170868
    @Query("select distinct new Person(p.name, p.province, p.city) from Person p")
    List<Person> getAllPerson();
}

ここでオブジェクトを返す必要がある場合は、新しいPerson(p.name、p.province、p.city)が必要であり、Personクラスには3つのパラメーターのコンストラクターが必要です。

public Person(String name, String province, String city) {
        this.name = name;
        this.province = province;
        this.city = city;
    }

理由:Person pから個別の名前、都道府県、市区町村を選択すると、このように記述され、Object []配列が返されます。したがって、上記の方法を使用する必要があります。

 

おすすめ

転載: blog.csdn.net/qq_33371766/article/details/110331817