🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

Q&A

解決済

1回答

1894閲覧

Springで外部結合したクエリをリストで取ってくる方法

mimi_129

総合スコア63

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

0グッド

0クリップ

投稿2021/02/13 09:26

前提・実現したいこと

SpringでServiceクラスを作成し、発行したクエリでリストを取ってきたいです。

一応取ってこれてはいるのですが、外部結合したテーブルがそれぞれ分割されて別の配列に入っているのを何とかしたいです。

Controller

Java

1package com.example.demo.haizokuMaster; 2 3import org.springframework.beans.factory.annotation.Autowired; 4import org.springframework.stereotype.Controller; 5import org.springframework.ui.Model; 6import org.springframework.web.bind.annotation.RequestMapping; 7 8@Controller 9public class HaizokuMasterController { 10 11 @Autowired 12 private HaizokuMasterService haizokuMasterService; 13 14 @RequestMapping(value = "/haizokuMaster/list") 15 public String list(Model model) { 16 var list = haizokuMasterService.findForHaizokuMaster(); 17 model.addAttribute("list", list); 18 return "/haizokuMaster/list"; 19 } 20 21} 22

Service

Java

1package com.example.demo.haizokuMaster; 2 3import javax.persistence.EntityManager; 4import javax.persistence.PersistenceContext; 5 6import org.springframework.beans.factory.annotation.Autowired; 7import org.springframework.stereotype.Service; 8import org.springframework.transaction.annotation.Transactional; 9 10@Service 11@Transactional 12public class HaizokuMasterService { 13 14 @Autowired 15 HaizokuMasterRepository shitenMasterRepositry; 16 17 @PersistenceContext 18 EntityManager entityManager; 19 20 public Object findForHaizokuMaster() { 21 22 Object results = entityManager 23 .createQuery("from ShitenMaster SM LEFT OUTER JOIN KoinMaster KM ON SM.shitenid = KM.shitenid") 24 .getResultList(); 25 26 return results; 27 } 28 29} 30

イメージ説明

list.html

Java

1<!doctype html> 2<html xmlns:th="http://www.thymeleaf.org"> 3<head> 4<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> 5<link th:href="@{/css/style.css}" rel="stylesheet" type="text/css"> 6<meta charset="UTF-8" /> 7<title>Hello Thymeleaf</title> 8</head> 9<body> 10<div class="col-12 col-sm-12 col-lg-12"> 11 <header class="header my-5"> 12 <a href="/"><img id="header_logo" src="/images/logo.png"></a> 13 </header> 14</div> 15<script src="https://kit.fontawesome.com/8925a3b56e.js" crossorigin="anonymous"></script> 16<div class="container"> 17 <hr> 18 <div class="font-weight-bold my-3"> 19 <i class="far fa-list-alt pr-2 text-primary"></i>配属情報一覧 20 </div> 21 <hr> 22 <div class="row justify-content-start"> 23 <table class="table table-striped table-sm"> 24 <tr> 25 <th>ID</th> 26 <th>支店名</th> 27 </tr> 28 <tr th:each="entity:${list}"> 29 <td th:text="${entity.biko}">name</td> 30 </tr> 31 </table> 32 <a href="/" class="btn btn-outline-secondary">戻る</a> 33 </div> 34</div> 35<footer class="footer bg-secondary"> 36</footer> 37</body> 38</html>

thymeleafで一覧として出力したいのですが、上記のようにバラバラの配列に入っているとかなり使いにくいです。
何か良い方法はありませんか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

EntityManagerで何しているのか、こちらからはわからないですが、
そのクラスで別の配列に詰め込んでいる様なので、望むように詰め替えれば
良いと思います。

投稿2021/02/14 23:15

Luice

総合スコア771

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問