回答編集履歴
1
追記
answer
CHANGED
@@ -197,4 +197,22 @@
|
|
197
197
|
* Spring Boot 2.2.1
|
198
198
|
* MySQL 8.0.17
|
199
199
|
|
200
|
-
で行いました。
|
200
|
+
で行いました。
|
201
|
+
|
202
|
+
### 補足
|
203
|
+
|
204
|
+
4番目を書き忘れたので補足します。
|
205
|
+
|
206
|
+
#### 4) ビューを使う
|
207
|
+
|
208
|
+
目的のクエリでビューを作成し、JPA側でそれをエンティティクラスとして定義するという方法もあります。
|
209
|
+
|
210
|
+
```sql
|
211
|
+
SELECT i.id, i.name, i.image,i.price, c.name, COUNT(i.id)
|
212
|
+
FROM items i INNER JOIN order_items oi ON i.id = oi.item_id
|
213
|
+
INNER JOIN categories c ON c.id = i.category_id
|
214
|
+
GROUP BY i.id, i.name, i.image, i.price, c.name
|
215
|
+
ORDER BY count(i.id) DESC;
|
216
|
+
```
|
217
|
+
|
218
|
+
この場合、クエリの複雑さをビューに寄せることができるのでJava側の実装は簡単になります。
|