質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.31%
Hibernate

HibernateとはJava言語のobject-relational mapping (ORM)ライブラリであり、Object/Relational Mappingよりはるか多くの方法でアプリケーションをPOJOで機能付けることができます。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Java

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

Q&A

0回答

597閲覧

JpaでStreamCorruptedExceptionを発生させずにデータを取得する方法を教えてください。

yuki1111

総合スコア73

Hibernate

HibernateとはJava言語のobject-relational mapping (ORM)ライブラリであり、Object/Relational Mappingよりはるか多くの方法でアプリケーションをPOJOで機能付けることができます。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Java

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

0グッド

0クリップ

投稿2023/03/23 11:21

編集2023/03/23 11:28

実現したいこと

  • ・JPAでテーブルからデータを取得したい

前提

Spring bootとVue.jsを使ってWEBアプリをつくっているのですが、
以下のcountByPrefectureCdメソッドではテーブルからデータを取得出来るのですが、
findByPrefectureCdメソッドではテーブルからのデータの取得に失敗します。

Java

1@Repository 2public interface BoothRepository extends JpaRepository<Booth, String> { 3 int countByPrefectureCd(String prefectureCd); 4 List<Booth> findByPrefectureCd(String prefectureCd); 5}

JPAのメソッドでデータの取得を試みるとjava.io.StreamCorruptedException: invalid stream header: 32303233(ASCIIコードで2023)というエラーが発生します。
恐縮ですが正常にデータを取得する方法のご教示をお願いいたします。

発生している問題・エラーメッセージ

2023-03-23 12:21:06.210 DEBUG 1900 --- [nio-8080-exec-8] org.hibernate.SQL  : select booth0_.booth_id as booth_id1_0_, booth0_.address as address2_0_, booth0_.booth_category_cd as booth_ca3_0_, booth0_.booth_name as booth_na4_0_, booth0_.chome_cd as chome_cd5_0_, booth0_.city_cd as city_cd6_0_, booth0_.del_flg as del_flg7_0_, booth0_.prefecture_cd as prefectu8_0_, booth0_.reg_dt as reg_dt9_0_, booth0_.reg_process as reg_pro10_0_, booth0_.reg_user_id as reg_use11_0_, booth0_.role_id as role_id12_0_, booth0_.town_area_cd as town_ar13_0_, booth0_.upd_dt as upd_dt14_0_, booth0_.upd_process as upd_pro15_0_, booth0_.upd_user_id as upd_use16_0_, booth0_.version as version17_0_ from booth booth0_ where booth0_.prefecture_cd=? 2023-03-23 12:21:06.211 TRACE 1900 --- [nio-8080-exec-8] o.h.type.descriptor.sql.BasicBinder  : binding parameter [1] as [VARCHAR] - [01] 2023-03-23 12:21:06.235  INFO 1900 --- [nio-8080-exec-8] com.koikeya.rotten.app.LogAspect  : End:public abstract java.util.List com.koikeya.rotten.domain.repository.BoothRepository.findByPrefectureCd(java.lang.String) 2023-03-23 12:21:06.235  INFO 1900 --- [nio-8080-exec-8] com.koikeya.rotten.app.LogAspect  : End:public java.util.List com.koikeya.rotten.domain.service.impl.FetchListInfoServiceImpl.fetchListInfo(java.lang.String) 2023-03-23 12:21:06.236  INFO 1900 --- [nio-8080-exec-8] com.koikeya.rotten.app.LogAspect  : End:public java.lang.String com.koikeya.rotten.app.DisplayListController.displayList(java.lang.String,org.springframework.ui.Model) 2023-03-23 12:21:06.244 ERROR 1900 --- [nio-8080-exec-8] o.a.c.c.C.[.[.[/].[dispatcherServlet]  : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.orm.jpa.JpaSystemException: could not deserialize; nested exception is org.hibernate.type.SerializationException: could not deserialize] with root cause java.io.StreamCorruptedException: invalid stream header: 32303233 at java.base/java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:943) at java.base/java.io.ObjectInputStream.<init>(ObjectInputStream.java:381) at org.hibernate.internal.util.SerializationHelper$CustomObjectInputStream.<init>(SerializationHelper.java:309) at org.hibernate.internal.util.SerializationHelper$CustomObjectInputStream.<init>(SerializationHelper.java:299)

該当のソースコード

html

1<template> 2 <p v-if="flag" class="ok"> 3 {{ message }} 4 </p> 5 <div class="eight-regional-divisions"> 6 <h2>北海道</h2> 7 <div class="Hokkaido"> 8 <a href="/DisplayListController?prefectureCd=01">北海道</a> 9 {{ hokkaiDo }}件 10 </div>

Java

1@Controller 2@RequestMapping("/DisplayListController") 3public class DisplayListController { 4 /** 5 * 店舗リポジトリ 6 */ 7 @Autowired 8 FetchListInfoService fetchListInfoService; 9 10 /** 11 * 一覧画面を表示する。 12 * @return 一覧画面名 13 */ 14 @RequestMapping 15 public String displayList(@RequestParam(name = "prefectureCd") String prefectureCd, Model model) { 16 List<Booth> boothList = fetchListInfoService.fetchListInfo(prefectureCd); 17 model.addAttribute("boothList", fetchListInfoService.fetchListInfo(prefectureCd)); 18 return UINameEnum.LIST.getUIName(); 19 } 20} 21

Java

1@Service 2public class FetchListInfoServiceImpl implements FetchListInfoService { 3 /** 4 * 店舗 5 */ 6 @Autowired 7 Booth booth; 8 /** 9 * 店舗リポジトリ 10 */ 11 @Autowired 12 BoothRepository boothRepository; 13 14 @Override 15 public List<Booth> fetchListInfo(String prefectureCd) { 16 List<Booth> boothList = boothRepository.findByPrefectureCd(prefectureCd); 17 return boothList; 18 } 19}

Java

1@Repository 2public interface BoothRepository extends JpaRepository<Booth, String> { 3 /** 4 * 都道府県別の店舗数を取得する。 5 * @param prefectureCd 都道府県コード 6 * @return 店舗エンティティクラスリスト 7 */ 8 int countByPrefectureCd(String prefectureCd); 9 /** 10 * 都道府県別の店舗数を取得する。 11 * @param prefectureCd 都道府県コード 12 * @return 店舗エンティティクラスリスト 13 */ 14 List<Booth> findByPrefectureCd(String prefectureCd); 15} 16

Java

1@Data 2@Component 3@Entity 4@Table(name = "booth") 5public class Booth implements Serializable { 6 /** 7 * シリアルバージョンUID 8 */ 9 private static final long serialVersionUID = 123456789L; 10 /** 11 * 都道府県コード 12 */ 13 @NotBlank 14 @Length(max=2) 15 private String prefectureCd;

SQL

1-- 店 2--* RestoreFromTempTable 3create table booth ( 4 prefecture_cd char(2) comment '都道府県コード'

pom.xml

1 </dependency> 2<!-- <dependency> --> 3<!-- <groupId>org.springframework.boot</groupId> --> 4<!-- <artifactId>spring-boot-starter-security</artifactId> --> 5<!-- </dependency> --> 6 <dependency> 7 <groupId>org.springframework.boot</groupId> 8 <artifactId>spring-boot-starter-thymeleaf</artifactId> 9 </dependency> 10 <dependency> 11 <groupId>org.springframework.boot</groupId> 12 <artifactId>spring-boot-starter-web</artifactId> 13 </dependency> 14 15 <dependency> 16 <groupId>org.projectlombok</groupId> 17 <artifactId>lombok</artifactId> 18 <optional>true</optional> 19 </dependency> 20 <dependency> 21 <groupId>org.springframework.boot</groupId> 22 <artifactId>spring-boot-starter-tomcat</artifactId> 23 <scope>provided</scope> 24 </dependency> 25 <dependency> 26 <groupId>org.springframework.boot</groupId> 27 <artifactId>spring-boot-starter-test</artifactId> 28 <scope>test</scope> 29 </dependency> 30 <dependency> 31 <groupId>org.springframework.security</groupId> 32 <artifactId>spring-security-test</artifactId> 33 <scope>test</scope> 34 </dependency> 35 <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-jpa --> 36 <dependency> 37 <groupId>org.springframework.boot</groupId> 38 <artifactId>spring-boot-starter-data-jpa</artifactId> 39 </dependency> 40 <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> 41 <dependency> 42 <groupId>mysql</groupId> 43 <artifactId>mysql-connector-java</artifactId> 44 </dependency> 45 <!-- https://mvnrepository.com/artifact/org.webjars.npm/vue --> 46 <dependency> 47 <groupId>org.webjars.npm</groupId> 48 <artifactId>vue</artifactId> 49 <version>3.2.33</version> 50 </dependency> 51 <!-- https://mvnrepository.com/artifact/joda-time/joda-time --> 52 <dependency> 53 <groupId>joda-time</groupId> 54 <artifactId>joda-time</artifactId> 55 <version>2.10.14</version> 56 </dependency> 57 <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-validator --> 58 <dependency> 59 <groupId>org.hibernate</groupId> 60 <artifactId>hibernate-validator</artifactId> 61 <version>6.0.17.Final</version> 62 </dependency> 63 <!-- Spring AOP --> 64 <dependency> 65 <groupId>org.springframework</groupId> 66 <artifactId>spring-aop</artifactId> 67 </dependency> 68 <!-- AspectJ --> 69 <dependency> 70 <groupId>org.aspectj</groupId> 71 <artifactId>aspectjweaver</artifactId> 72 </dependency> 73 <!-- https://mvnrepository.com/artifact/org.webjars/bootstrap --> 74 <dependency> 75 <groupId>org.webjars</groupId> 76 <artifactId>bootstrap</artifactId> 77 <version>4.5.2</version> 78 </dependency> 79 80 </dependencies>

補足情報(FW/ツールのバージョンなど)

・Windows 11 Pro
・MySQL 8.0.29
・Eclipse 2021-09 (4.21.0)
・Java 16

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.31%

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

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

質問する

関連した質問