質問編集履歴

5

誤字

2016/10/20 11:44

投稿

noririn
noririn

スコア37

test CHANGED
@@ -1 +1 @@
1
- MySQL timestamp型のテーブルにtimestamp型をinsertしようとするとエラーが出ます
1
+ MySQL
test CHANGED
@@ -1,265 +1 @@
1
- MySQLを使用しております。
2
-
3
- 環境は
4
-
5
- seasar2
6
-
7
- SAStruts
8
-
9
- s2Dao
10
-
11
- フレームワークを使用しております
12
-
13
-
14
-
15
- 今回不明な点は・・
16
-
17
- .................................................
18
-
19
-
20
-
21
- ・DBのtimestamp型のカラムにtimestamp型をinsertしようとするとエラーが出る理由が分かりません
22
-
23
-
24
-
25
- ・DBに
26
-
27
- TIMESTAMP timestamp (デフォルト値 CURRENT_TIMESTAMP)
28
-
29
- と設定しているためそもそも自動的に作成されるのでは・・思っているのですが、insertする情報をreviewだけにしてtimestamp型の値を渡さなくても同じエラーが出ます・・
30
-
31
-
32
-
33
- .................................................
34
-
35
-
36
-
37
- 上記です。
38
-
39
-
40
-
41
- 状況としては下記です。
42
-
43
-
44
-
45
-
46
-
47
- データベースに下記テーブルを作成しておりますが・・
48
-
49
-
50
-
51
- .................................................
52
-
53
- CODE int(4)
54
-
55
- REVIEW varchar(100)
56
-
57
- TIMESTAMP timestamp (デフォルト値 CURRENT_TIMESTAMP)
58
-
59
- .................................................
60
-
61
- (IDは自動採番設定をしています。TIMESTAMPはCURRENT_TIMESTAMPにしています)
62
-
63
-
64
-
65
- TIMESTAMPのtimestamp型のカラムに
66
-
67
-
68
-
69
- ```java
70
-
71
- //TIMESTAMPにinsertする投稿時間のUNIX時間を取得
72
-
73
- Timestamp timestamp = new Timestamp(System.currentTimeMillis());
74
-
75
-
76
-
77
- //beanクラスであるentityクラスに値をセット
78
-
79
- entity.setTimeStamp(timestamp);
80
-
81
-
82
-
83
- //beanクラスにreviewをセット
84
-
85
- entity.setReview(review);
86
-
87
-
88
-
89
- //daoクラスでinsert
90
-
91
- dao.insert(entity);
92
-
93
-
94
-
95
- ```
96
-
97
-
98
-
99
- ```java
100
-
101
- //daoクラスの処理(必要な処理のみを抜粋)
102
-
103
-
104
-
105
- //DBに登録されているデータ全てを取り出す
106
-
107
- public ObjectEntity[] selectAll();
108
-
109
-
110
-
111
- //insert処理
112
-
113
- @Arguments({"review","timestamp"}) //←ここは書いても書かなくても同じエラーが出ます
114
-
115
- public int insert(ObjectEntity objectentity);
116
-
117
-
118
-
119
- ```
120
-
121
-
122
-
123
- ```java
124
-
125
- //entityクラス
126
-
127
-
128
-
129
- private Integer id;
130
-
131
- private String review;
132
-
133
- private Timestamp timestamp;
134
-
135
- private String updateTime;
136
-
137
-
138
-
139
- public Integer getId(){
140
-
141
- return id;
142
-
143
- }
144
-
145
- public void setId(Integer id){
146
-
147
- this.id = id;
148
-
149
- }
150
-
151
- public String getReview(){
152
-
153
- return review;
154
-
155
- }
156
-
157
- public void setReview(String review){
158
-
159
- this.review = review;
160
-
161
- }
162
-
163
- public Timestamp getTimestamp(){
164
-
165
- return timestamp;
166
-
167
- }
168
-
169
- public void setTimestamp(Timestamp timestamp){
1
+ oooooooooooooooooooooooooooooooooooooooooooooooo
170
-
171
- this.timestamp = timestamp;
172
-
173
- }
174
-
175
- public String getUpdate(){
176
-
177
- return update;
178
-
179
- }
180
-
181
- pubic void setUpdate(String update){
182
-
183
- this.update = update;
184
-
185
- }
186
-
187
-
188
-
189
- ```
190
-
191
-
192
-
193
- 上記のようにTimestampで取得したUNIX時間(例:1474304126)をentityクラスに格納し、それをentityクラスごとinsertしております。
194
-
195
-
196
-
197
- しかしHTTPステータス500エラーが発生し
198
-
199
-
200
-
201
- .................................................
202
-
203
- org.seasar.framework.beans.IllegalPropertyRuntimeException:[ESSR0059]クラス
204
-
205
- (×××.entity.ObjectEntity)のプロパティ(timestamp)の設定に失敗しました理由は
206
-
207
- org.seasar.framework.exception.SIllegalArgumentEcxeption:[ESSR0098]クラス(×××.entity.ObjectEntity)
208
-
209
- [org.seasar.framework.container.hotdeploy.HotdeployClassLoader@1f00486]の型(com.sun.jmx.snmp.Timestamp)[null]のプロパティ
210
-
211
- (timestamp)に、型(java.sql.Timestamp)[null]の値(16/09/19 14:18)を設定できませんでした。
212
-
213
- 対象のクラスは
214
-
215
- (×××.entity.ObjectEntity)[org.seasar.framework.container.hotdeploy.HotdeployClassLoader@1f00486]です
216
-
217
- .................................................
218
-
219
-
220
-
221
- と表示されます。
222
-
223
- DBのtimestampに不適切な値を設定したためエラーが出ているところまでは
224
-
225
- 分かったのですが私の知識では追いつかず・・
226
-
227
-
228
-
229
- 直接MySQLで事前登録していた情報(reviewのみ挿入し、idとtimestampは自動生成です)をselectAll()でDBから値を取得する時も同じエラーが表示されentityクラスのtimestamp型をlong型にするとselectAllはでき、画面に表示できますがやはりinsert時には
230
-
231
-
232
-
233
- .................................................
234
-
235
-
236
-
237
- HTTPステータス500
238
-
239
- org.seasar.framework.exception.SQLRuntimeException:[ESSR0072]SQLで例外が発生しました
240
-
241
- Date truncation:Incorrect datetime value:'147433814445'for column 'TIMESTAMP' at row 1],ErrorCode=1292,SQLState=22001が発生しました
242
-
243
-
244
-
245
- .................................................
246
-
247
-
248
-
249
- とデータ値が予期せず切り詰められた時にスローされる例外?が出ます。
250
-
251
- 型が違うので当然なのかな、と思いますが・・
252
-
253
-
254
-
255
-
256
-
257
- またはそれ以前の問題でしょうか・・?
258
-
259
-
260
-
261
- 大変恐縮ですが、何かアドバイスを頂けると幸いです。
262
-
263
-
264
-
265
- どうぞよろしくお願い致します。

4

誤字

2016/10/20 11:44

投稿

noririn
noririn

スコア37

test CHANGED
File without changes
test CHANGED
@@ -62,13 +62,13 @@
62
62
 
63
63
 
64
64
 
65
- UPDATEのtimestamp型のカラムに
65
+ TIMESTAMPのtimestamp型のカラムに
66
66
 
67
67
 
68
68
 
69
69
  ```java
70
70
 
71
- //UPDATEにinsertする投稿時間のUNIX時間を取得
71
+ //TIMESTAMPにinsertする投稿時間のUNIX時間を取得
72
72
 
73
73
  Timestamp timestamp = new Timestamp(System.currentTimeMillis());
74
74
 

3

誤字

2016/09/21 02:25

投稿

noririn
noririn

スコア37

test CHANGED
File without changes
test CHANGED
@@ -58,7 +58,7 @@
58
58
 
59
59
  .................................................
60
60
 
61
- (IDは自動採番設定をしています。UPDATEはCURRENT_TIMESTAMPにしています)
61
+ (IDは自動採番設定をしています。TIMESTAMPはCURRENT_TIMESTAMPにしています)
62
62
 
63
63
 
64
64
 

2

誤字

2016/09/21 02:24

投稿

noririn
noririn

スコア37

test CHANGED
File without changes
test CHANGED
@@ -18,11 +18,15 @@
18
18
 
19
19
 
20
20
 
21
- ・DBのtimestamp型のカラムにtimestamp型をinsertしようとするとエラーが出る
21
+ ・DBのtimestamp型のカラムにtimestamp型をinsertしようとするとエラーが出る理由が分かりません
22
+
23
+
24
+
22
-
25
+ ・DBに
26
+
23
-
27
+ TIMESTAMP timestamp (デフォルト値 CURRENT_TIMESTAMP)
24
-
28
+
25
- ・UPDATE timestamp (デフォルト値 CURRENT_TIMESTAMP) と設定しているためそもそも自動的に作成されるのでは・・思っているのですが、insertする情報をreviewだけにしてtimestamp型の値を渡さなくても同じエラーが出
29
+ と設定しているためそもそも自動的に作成されるのでは・・思っているのですが、insertする情報をreviewだけにしてtimestamp型の値を渡さなくても同じエラーが出ます・・
26
30
 
27
31
 
28
32
 

1

誤字

2016/09/21 02:23

投稿

noririn
noririn

スコア37

test CHANGED
File without changes
test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  seasar2
6
6
 
7
- SAStrurs
7
+ SAStruts
8
8
 
9
9
  s2Dao
10
10