回答編集履歴

2

追記

2020/07/24 06:08

投稿

rubytomato
rubytomato

スコア1752

test CHANGED
@@ -107,3 +107,45 @@
107
107
  spring.jpa.database = POSTGRESQL
108
108
 
109
109
  ```
110
+
111
+
112
+
113
+ **追記(2020/07/24)**
114
+
115
+
116
+
117
+ ```
118
+
119
+ org.hibernate.tool.schema.spi.SchemaManagementException: Schema-validation: wrong column type encountered in column [reserved_date] in table [reservable_room]; found [date (Types#DATE)], but expecting [timestamp (Types#TIMESTAMP)]
120
+
121
+ ```
122
+
123
+
124
+
125
+ このエラーは`ReservableRoomId`クラスの`reservedDate`フィールドが`Date`型の場合に表示されました。
126
+
127
+ `ReservableRoomId`クラスのコードが下記のようになっている場合
128
+
129
+
130
+
131
+ ```java
132
+
133
+ @Column
134
+
135
+ private Date reservedDate;
136
+
137
+ ```
138
+
139
+
140
+
141
+ フィールドの型を`LocalDate`に変え(関連する箇所も)て確認してください。
142
+
143
+
144
+
145
+ ```java
146
+
147
+ @Column
148
+
149
+ private LocalDate reservedDate;
150
+
151
+ ```

1

修正

2020/07/24 06:08

投稿

rubytomato
rubytomato

スコア1752

test CHANGED
@@ -12,37 +12,61 @@
12
12
 
13
13
  上記に引用した通り、HiberanteとDatasourceを併用したデータベースの初期化はできません。
14
14
 
15
+
16
+
17
+ **修正**
18
+
19
+
20
+
21
+ コメントが付いたので確認したところ、私の回答に誤りがありましたので訂正します。
22
+
23
+ 下記内容を取り消し、改めて回答させて頂きます。
24
+
25
+
26
+
15
- 現在の設定では
27
+ ~~現在の設定では~~
28
+
29
+
30
+
31
+ ~~spring.jpa.hibernate.ddl-auto=validate~~
32
+
33
+
34
+
35
+ ~~としている(つまりHibernateを利用)ため、schema.sqlは読み込まれない状態です。~~
36
+
37
+
38
+
39
+ ~~schema.sqlを読み込んでテーブルを作成したい場合は~~
40
+
41
+
42
+
43
+ ~~spring.jpa.hibernate.ddl-auto = none~~
44
+
45
+
46
+
47
+ ~~としてHibernateを使用せず、且つ下記を追加します。~~
48
+
49
+
50
+
51
+ **再回答**
52
+
53
+
54
+
55
+ 下記の設定が有効だとschema.sqlが読み込まれないと回答しましたが、この設定があっても読み込みが行われ、`validate`の場合はエンティティクラスとデータベースとの整合性のチェックが行われます。
56
+
57
+ なお、他の設定値の`create`や`create-drop`でもschema.sqlの読み込みが行われますが整合性が担保できなくなる可能性が高いので併用は避けてください。
16
58
 
17
59
 
18
60
 
19
61
  ```
20
62
 
21
- spring.jpa.hibernate.ddl-auto=validate
63
+ spring.jpa.hibernate.ddl-auto = validate
22
64
 
23
65
  ```
24
66
 
25
67
 
26
68
 
27
- してる(つまりHibernateを利用)ため、schema.sql読み込まれない状態です
69
+ 下記の行は訂正前同様に必要で、この行がなschema.sql読み込みは行われせん
28
-
29
-
30
-
31
- schema.sqlを読み込んでテーブルを作成したい場合は
32
-
33
-
34
-
35
-
36
-
37
- ```
38
-
39
- spring.jpa.hibernate.ddl-auto = none
40
-
41
- ```
42
-
43
-
44
-
45
- としてHibernateを使用せず、且つ下記を追加します。
46
70
 
47
71
 
48
72
 
@@ -70,8 +94,6 @@
70
94
 
71
95
 
72
96
 
73
-
74
-
75
97
  **補足**
76
98
 
77
99