回答編集履歴
1
追記
test
CHANGED
@@ -397,3 +397,39 @@
|
|
397
397
|
|
398
398
|
|
399
399
|
で行いました。
|
400
|
+
|
401
|
+
|
402
|
+
|
403
|
+
### 補足
|
404
|
+
|
405
|
+
|
406
|
+
|
407
|
+
4番目を書き忘れたので補足します。
|
408
|
+
|
409
|
+
|
410
|
+
|
411
|
+
#### 4) ビューを使う
|
412
|
+
|
413
|
+
|
414
|
+
|
415
|
+
目的のクエリでビューを作成し、JPA側でそれをエンティティクラスとして定義するという方法もあります。
|
416
|
+
|
417
|
+
|
418
|
+
|
419
|
+
```sql
|
420
|
+
|
421
|
+
SELECT i.id, i.name, i.image,i.price, c.name, COUNT(i.id)
|
422
|
+
|
423
|
+
FROM items i INNER JOIN order_items oi ON i.id = oi.item_id
|
424
|
+
|
425
|
+
INNER JOIN categories c ON c.id = i.category_id
|
426
|
+
|
427
|
+
GROUP BY i.id, i.name, i.image, i.price, c.name
|
428
|
+
|
429
|
+
ORDER BY count(i.id) DESC;
|
430
|
+
|
431
|
+
```
|
432
|
+
|
433
|
+
|
434
|
+
|
435
|
+
この場合、クエリの複雑さをビューに寄せることができるのでJava側の実装は簡単になります。
|