質問編集履歴

7

hフィールドはとりあえず関係ないことを追記

2019/02/02 09:09

投稿

sanezane
sanezane

スコア91

test CHANGED
File without changes
test CHANGED
@@ -314,7 +314,7 @@
314
314
 
315
315
 
316
316
 
317
- ### 現在詰まっている箇所
317
+ ~~### 現在詰まっている箇所
318
318
 
319
319
  ![イメージ説明](469c783e541020e8a9350afcb8f34ac9.jpeg)
320
320
 
@@ -350,6 +350,10 @@
350
350
 
351
351
 
352
352
 
353
+ ### hフィールドのエラー関係ない!!!!!!!
354
+
355
+
356
+
353
357
  ・macのローカル環境あんまり汚したくなかったけど仕方なくローカルにMysql環境構築しデータベース連携できるか確認
354
358
 
355
359
  →連携成功。。。やはりdockerの設定に問題がある模様。

6

macでのmysqlローカル環境検証結果 追記

2019/02/02 09:09

投稿

sanezane
sanezane

スコア91

test CHANGED
File without changes
test CHANGED
@@ -354,8 +354,6 @@
354
354
 
355
355
  →連携成功。。。やはりdockerの設定に問題がある模様。
356
356
 
357
-
358
-
359
- hフィールがないよ」って言われているっとはうまく参照できていないということでょうか???
357
+ そして散々調べていたhフィールドです、こはmac環境固有のもの?らしく、こちらが発生していてもデータベースの連携下図のよに成功していた。。。
360
-
358
+
361
- ご指摘いただけると幸せでございます。よろしくお願いいたします。
359
+ ### 2月2日現状...どのように切り分べきかわからなくなっております。。。。ご意見をください。よろしくお願いいたします。

5

macローカル環境での検証結果追加

2019/02/02 09:06

投稿

sanezane
sanezane

スコア91

test CHANGED
File without changes
test CHANGED
@@ -350,6 +350,12 @@
350
350
 
351
351
 
352
352
 
353
+ ・macのローカル環境あんまり汚したくなかったけど仕方なくローカルにMysql環境構築しデータベース連携できるか確認
354
+
355
+ →連携成功。。。やはりdockerの設定に問題がある模様。
356
+
357
+
358
+
353
359
  「hフィールがないよ」って言われているってことはうまく参照できていないということでしょうか???
354
360
 
355
361
  ご指摘いただけると幸せでございます。よろしくお願いいたします。

4

タイトルをわかりやすく変更

2019/02/02 09:00

投稿

sanezane
sanezane

スコア91

test CHANGED
@@ -1 +1 @@
1
- Spring boot におけるデータベース連携
1
+ Mysql環境をdockerで作成しアプリケーションと連携したい(spring boot)
test CHANGED
File without changes

3

2月2日途中経過追加

2019/02/02 08:24

投稿

sanezane
sanezane

スコア91

test CHANGED
File without changes
test CHANGED
@@ -32,11 +32,11 @@
32
32
 
33
33
  テーブル名:Account
34
34
 
35
- カラム:id,name,password
35
+ カラム:id,email,password
36
-
37
-
38
-
36
+
37
+
38
+
39
- 以下デバッグ画像のfindAll()にてカラムid,name,passwordが取りたいのに、、、sizeが0で返ってくる。
39
+ 以下デバッグ画像のfindAll()にてカラムid,email,passwordが取りたいのに、、、sizeが0で返ってくる。
40
40
 
41
41
  ![イメージ説明](daad35d275aa78f465b5ae760eea053d.jpeg)
42
42
 
@@ -44,7 +44,9 @@
44
44
 
45
45
  ### その他ソース
46
46
 
47
+ [githubリンク](https://github.com/yosuke0517/mysql_demo_in_docker)
48
+
47
- この質問書いているときにEntityが「Entiry」になっているのに気づいた。。。findAll()はこちら側で別個定義が必要なのでしょうか?
49
+ ※findAll()はこちら側で別個定義が必要なのでしょうか?
48
50
 
49
51
  それともDBと連携ができていない?
50
52
 
@@ -118,10 +120,6 @@
118
120
 
119
121
 
120
122
 
121
-
122
-
123
-
124
-
125
123
  }
126
124
 
127
125
 
@@ -144,7 +142,7 @@
144
142
 
145
143
  @Repository
146
144
 
147
- public interface AccountRepository extends JpaRepository<AccountEntiry,String> {
145
+ public interface AccountRepository extends JpaRepository<AccountEntity,Integer> {
148
146
 
149
147
  }
150
148
 
@@ -252,9 +250,9 @@
252
250
 
253
251
 
254
252
 
255
- 追加情報■
253
+ 修正情報■
256
-
254
+
257
- 1/30
255
+ ### ■1/31■成果振り返り
258
256
 
259
257
  まず、JpaRepository<Account,String>としていたものをidの属性であるJpaRepository<Account,Integer>へ変更。
260
258
 
@@ -274,7 +272,7 @@
274
272
 
275
273
 
276
274
 
277
- 2/1
275
+ ### ■2/1■成果振り返り
278
276
 
279
277
  空いていたWindowsPCでローカル環境に直接MySql環境を構築し同じプロジェクトをgithubより落としてきて実行した。
280
278
 
@@ -302,40 +300,56 @@
302
300
 
303
301
  ```
304
302
 
305
- 意味わかんないのでまた明日調べる。
303
+
306
-
307
- docker-compose.ymlにて設定しているポートも少し怪しいと疑っています。
304
+
308
-
309
- portsの部分はdockerでの3306をホストの3306にバインドするという意味だと認識。
305
+
310
-
311
- ```dockercomposeYML
306
+
312
-
313
- version: '3'
314
-
315
- services:
316
-
317
- mysql:
318
-
319
- build: ./mysql
307
+ ### ■2/2■成果振り返り
320
-
308
+
321
- environment:
309
+ 前回まででMysqlをローカルで環境構築してアプリケーションの動作がどうなるかを検証しました。
310
+
322
-
311
+ Windowsにて検証を行ったのですが同じソース、同じデータベース構造でデータベースの内容を画面へ表示することができました。
312
+
323
- - MYSQL_DATABASE=demo
313
+ dockerとローカルで何が違うのか...
324
-
325
- - MYSQL_ROOT_USER=root
314
+
326
-
327
- - MYSQL_ROOT_PASSWORD=p@ssw0rd
315
+
328
-
316
+
329
- - TZ=Japan
317
+ ### 現在詰まっている箇所
330
-
331
- volumes:
318
+
332
-
333
- - ./initdb.d:/docker-entrypoint-initdb.d
334
-
335
- - ./dbdata:/var/lib/mysql
319
+ ![イメージ説明](469c783e541020e8a9350afcb8f34ac9.jpeg)
336
-
337
- ports:
320
+
338
-
339
- - "3306:3306"
321
+ ローカルで実行した際には出ないエラーの調査をしています。
340
-
322
+
323
+
324
+
341
- ```
325
+ ```
326
+
327
+ ((SimpleJpaRepository)((SingletonTargetSource)((ProxyFactory)((JdkDynamicAopProxy)this.h).advised).t = No such instance field: 'h'
328
+
329
+ ```
330
+
331
+
332
+
333
+ ### hフィールドを探す
334
+
335
+
336
+
337
+ ### hどこやねん
338
+
339
+ ```
340
+
341
+ /Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home/lib/src.zip!/java.base/java/lang/reflect/Proxy.java
342
+
343
+ ```
344
+
345
+ 上記パス中にいました。
346
+
347
+ Proxy.javaてなんだ?
348
+
349
+ ![イメージ説明](c5f4f40e004d7ad563f5a86757086159.jpeg)
350
+
351
+
352
+
353
+ 「hフィールがないよ」って言われているってことはうまく参照できていないということでしょうか???
354
+
355
+ ご指摘いただけると幸せでございます。よろしくお願いいたします。

2

やったこと追加

2019/02/02 08:22

投稿

sanezane
sanezane

スコア91

test CHANGED
File without changes
test CHANGED
@@ -52,7 +52,7 @@
52
52
 
53
53
  ```applicationproperties
54
54
 
55
- spring.datasource.url=jdbc:mysql://localhost/demo?useSSL=false
55
+ spring.datasource.url=jdbc:mysql://localhost:3306/demo?useSSL=false
56
56
 
57
57
  spring.datasource.username=root
58
58
 
@@ -271,3 +271,71 @@
271
271
  ![イメージ説明](041542f704824f597771f8ffa5ce8152.jpeg)
272
272
 
273
273
  今日はここまで。眠って、明日の業務後にデバッグします!
274
+
275
+
276
+
277
+ 2/1
278
+
279
+ 空いていたWindowsPCでローカル環境に直接MySql環境を構築し同じプロジェクトをgithubより落としてきて実行した。
280
+
281
+ →データベース連携成功...
282
+
283
+ dockerと何が違うのか...
284
+
285
+ 以下Windowsでのデバッグ時画面とMacでの同じ場所での画像比較
286
+
287
+ ■Windows
288
+
289
+ ![Windows画面](6b3cbbcbcbe766f0579ff555c519baf3.png)
290
+
291
+ ■Mac
292
+
293
+ ![イメージ説明](910e29c2861924ddc983b8ec36482071.jpeg)
294
+
295
+
296
+
297
+ Macでは以下のエラーが出ている。
298
+
299
+ ```ここに言語を入力
300
+
301
+ ((SimpleJpaRepository)((SingletonTargetSource)((ProxyFactory)((JdkDynamicAopProxy)this.h).advised).t = No such instance field: 'h'
302
+
303
+ ```
304
+
305
+ 意味わかんないのでまた明日調べる。
306
+
307
+ docker-compose.ymlにて設定しているポートも少し怪しいと疑っています。
308
+
309
+ portsの部分はdockerでの3306をホストの3306にバインドするという意味だと認識。
310
+
311
+ ```dockercomposeYML
312
+
313
+ version: '3'
314
+
315
+ services:
316
+
317
+ mysql:
318
+
319
+ build: ./mysql
320
+
321
+ environment:
322
+
323
+ - MYSQL_DATABASE=demo
324
+
325
+ - MYSQL_ROOT_USER=root
326
+
327
+ - MYSQL_ROOT_PASSWORD=p@ssw0rd
328
+
329
+ - TZ=Japan
330
+
331
+ volumes:
332
+
333
+ - ./initdb.d:/docker-entrypoint-initdb.d
334
+
335
+ - ./dbdata:/var/lib/mysql
336
+
337
+ ports:
338
+
339
+ - "3306:3306"
340
+
341
+ ```

1

今日の成果を追加

2019/02/01 16:49

投稿

sanezane
sanezane

スコア91

test CHANGED
File without changes
test CHANGED
@@ -249,3 +249,25 @@
249
249
 
250
250
 
251
251
  ```
252
+
253
+
254
+
255
+ ■追加情報■
256
+
257
+ 1/30
258
+
259
+ まず、JpaRepository<Account,String>としていたものをidの属性であるJpaRepository<Account,Integer>へ変更。
260
+
261
+
262
+
263
+ デバッグ実行後、事象変わらず、、、SimpleJpaRepositoryを掘っていたら以下のエラーが出ていることが判明。
264
+
265
+ ```Error
266
+
267
+ Method threw 'java.lang.IllegalStateException' exception. Cannot evaluate com.sun.proxy.$Proxy84.toString()
268
+
269
+ ```
270
+
271
+ ![イメージ説明](041542f704824f597771f8ffa5ce8152.jpeg)
272
+
273
+ 今日はここまで。眠って、明日の業務後にデバッグします!