我有春天數據的方法是這樣的:春數據findTop10-十大查詢,而不是一個
List<RegionBasics> findTop10ByRegionMappingsActiveTrue();
我想到的是,它會在一個查詢發現排名前10位的記錄從數據庫中,但我在日誌中看到的是(我沒貼原木爲了保持這種可讀但這選擇查詢調用10次):
選擇regionmapp0_.id爲id1_2_1_,regionmapp0_.is_active爲is_activ2_2_1_,regionmapp0_.region_basic_id爲region_b3_2_1_,regionbasi1_ .id as id1_1_0_,regionbasi1_hotel_count as hotel_co2_1_0_,regionbasi1_.name_long as name_lon3_1_0_, regionbasi1_.name as name4_1_0_,regionbasi1_.type as type5_1_0_ from region_mappings regionmapp0_ left outer join region_basics regionbasi1_ on regionmapp0_.region_basic_id = regionbasi1_.id where regionmapp0_.region_basic_id =?
我怎樣才能確保這個方法只會打一次數據庫一次(而不是10次)?
我的模型:
@Data
@NoArgsConstructor
@Entity
@Table(name = "region_basics")
public class RegionBasics {
@Id
Integer id;
@Column
String type;
@Column
String name;
@Column(name = "name_long")
String longName;
@Column(name = "hotel_count")
Integer hotelCount;
@OneToOne(mappedBy="regionBasics")
RegionMappings regionMappings;
}