質問編集履歴
4
「試したこと」にNativeQueryを使った事を追記しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -146,6 +146,37 @@
|
|
146
146
|
テーブルの値にNULL値が含まれない場合は値を取得できる事を確認しています。
|
147
147
|
@PrimaryKey(validation=IdValidation.NONE)を追加してもみたのですが、状況は変わりませんでした。
|
148
148
|
|
149
|
+
(2016/09/08追記)
|
150
|
+
最適解かどうかはわからないのですが、NamedQueryを使うのを諦め、NativeQueryでObject型とすればテーブルのデータを取り出せることは確認できました。
|
151
|
+
```
|
152
|
+
public AAATbl[] selectAll() {
|
153
|
+
try {
|
154
|
+
String sql = "SELECT BBB,CCC FROM AAA_TBL";
|
155
|
+
List<AAATbl> dest = new ArrayList<>();
|
156
|
+
List<Object[]> list = (List<Object[]>) em.createNativeQuery(sql).getResultList();
|
157
|
+
Iterator it = list.iterator();
|
158
|
+
while (it.hasNext()) {
|
159
|
+
AAATbl data = new AAATbl();
|
160
|
+
Object[] obj = (Object[]) it.next();
|
161
|
+
int i = 0;
|
162
|
+
data.bbb((String) obj[i++]);
|
163
|
+
data.ccc((String) obj[i++])
|
164
|
+
dest.add(data);
|
165
|
+
}
|
166
|
+
AAATbl[] ret;
|
167
|
+
ret = (AAATbl[]) dest.toArray(new AAATbl[dest.size()]);
|
168
|
+
return ret;
|
169
|
+
} catch (NoResultException e) {
|
170
|
+
return null;
|
171
|
+
} catch (PersistenceException | DatabaseException databaseEx) {
|
172
|
+
logger.fatal(databaseEx);
|
173
|
+
return null;
|
174
|
+
} catch (Exception e) {
|
175
|
+
logger.fatal(e);
|
176
|
+
return null;
|
177
|
+
}
|
178
|
+
}
|
179
|
+
```
|
149
180
|
|
150
181
|
###補足情報(言語/FW/ツール等のバージョンなど)
|
151
182
|
環境はNetBeans(8.1)+TomEE(7.0.1)
|
3
記載したエラーログとテーブル構造に誤りがありましたので訂正します
title
CHANGED
File without changes
|
body
CHANGED
@@ -13,7 +13,11 @@
|
|
13
13
|
|
14
14
|
```
|
15
15
|
エラーメッセージ
|
16
|
-
2016-09-06
|
16
|
+
2016-09-06 19:59:14,832 [http-nio-8080-exec-16] FATAL (AAA.java:48) - javax.persistence.PersistenceException: Exception [EclipseLink-6044] (Eclipse Persistence Services - 2.6.3.v20160428-59c81c5): org.eclipse.persistence.exceptions.QueryException
|
17
|
+
Exception Description: The primary key read from the row [ArrayRecord(
|
18
|
+
AAA_TBL.BBB => null
|
19
|
+
AAA_TBL.CCC => null)] during the execution of the query was detected to be null. Primary keys must not contain null.
|
20
|
+
Query: ReadAllQuery(name="AAATbl.findAll" referenceClass=AAATbl sql="SELECT BBB, CCC FROM AAA_TBL")
|
17
21
|
|
18
22
|
###該当のソースコード
|
19
23
|
@Entity
|
@@ -131,7 +135,7 @@
|
|
131
135
|
```
|
132
136
|
CREATE TABLE "DATABASE"."AAA_TBL"
|
133
137
|
( "BBB" VARCHAR2(1 BYTE),
|
134
|
-
"CCC" VARCHAR2(
|
138
|
+
"CCC" VARCHAR2(1 BYTE)
|
135
139
|
) SEGMENT CREATION IMMEDIATE
|
136
140
|
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS NOLOGGING
|
137
141
|
STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
|
2
DBのテーブル構造を追記しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -126,7 +126,18 @@
|
|
126
126
|
}
|
127
127
|
}
|
128
128
|
```
|
129
|
-
|
129
|
+
### テーブル構造
|
130
|
+
実際のカラムは32個ありますが、"BBB","CCC"の2つに省略化して記載しています。
|
131
|
+
```
|
132
|
+
CREATE TABLE "DATABASE"."AAA_TBL"
|
133
|
+
( "BBB" VARCHAR2(1 BYTE),
|
134
|
+
"CCC" VARCHAR2(14 BYTE)
|
135
|
+
) SEGMENT CREATION IMMEDIATE
|
136
|
+
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS NOLOGGING
|
137
|
+
STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
|
138
|
+
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
|
139
|
+
TABLESPACE "USERS" ;
|
140
|
+
```
|
130
141
|
###試したこと
|
131
142
|
テーブルの値にNULL値が含まれない場合は値を取得できる事を確認しています。
|
132
143
|
@PrimaryKey(validation=IdValidation.NONE)を追加してもみたのですが、状況は変わりませんでした。
|
@@ -134,4 +145,5 @@
|
|
134
145
|
|
135
146
|
###補足情報(言語/FW/ツール等のバージョンなど)
|
136
147
|
環境はNetBeans(8.1)+TomEE(7.0.1)
|
137
|
-
JPAはEclipse Persistence Services - 2.6.3.v20160428-59c81c5を使用しています。
|
148
|
+
JPAはEclipse Persistence Services - 2.6.3.v20160428-59c81c5を使用しています。
|
149
|
+
DataBaseは Oracle 11.2.0.1.0を使用しています。
|
1
TomcatEEと記載していましたがTomEEの誤りですので訂正します
title
CHANGED
File without changes
|
body
CHANGED
@@ -133,5 +133,5 @@
|
|
133
133
|
|
134
134
|
|
135
135
|
###補足情報(言語/FW/ツール等のバージョンなど)
|
136
|
-
環境はNetBeans(8.1)+
|
136
|
+
環境はNetBeans(8.1)+TomEE(7.0.1)
|
137
137
|
JPAはEclipse Persistence Services - 2.6.3.v20160428-59c81c5を使用しています。
|