teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

EmbeddedIdアノテーションがPrimalyKey指定となる

2016/09/08 02:44

投稿

BlueMoon
BlueMoon

スコア1339

answer CHANGED
@@ -5,4 +5,13 @@
5
5
  ---
6
6
 
7
7
  EntityBean側にPrimalyKey指定が有るものと勘違いしていました。済みません。
8
- PrimalyKey指定していないので、値がnullでも問題ないように思えます。Oracle接続の環境が作れないのでちょっと調べられません。解決につながるか分かりませんが、エラー内容やサーバーログなど提示してみてはどうでしょうか。関係ないかも知れませんが、varcher2のサイズがTableとEntityで異なるのが気になりました。
8
+ PrimalyKey指定していないので、値がnullでも問題ないように思えます。Oracle接続の環境が作れないのでちょっと調べられません。解決につながるか分かりませんが、エラー内容やサーバーログなど提示してみてはどうでしょうか。関係ないかも知れませんが、varcher2のサイズがTableとEntityで異なるのが気になりました。
9
+
10
+ ---
11
+
12
+ EmbeddedIdアノテーションは複合主キーの指定となるようです。
13
+
14
+ [複合主キーの定義方法](http://enterprisegeeks.hatenablog.com/entry/2015/04/27/134840)
15
+
16
+ このためAAATblPKがPrimalyKeyとされ、nullでExceptionとなったものと思われます。
17
+ @EmbeddedIdを使用するのをやめるのと同時にメンバ指定をサブクラスで指定するのをやめ、AAATblに直接bbb、cccのメンバを記載されてはどうでしょうか。

2

質問を誤解していた点を訂正

2016/09/08 02:44

投稿

BlueMoon
BlueMoon

スコア1339

answer CHANGED
@@ -1,3 +1,8 @@
1
1
  JPAではEntityBeanはDBのTableデザインと一致していることが前提となります。EntityBeanのメンバ定義とTableのcolumn定義が不一致の場合、何らかの不具合が起きても不思議はないです。PrimalyKeyにnullが含まれるというのはDBとして矛盾なので、エラーとして弾いている可能性が考えられます。ご質問に対する解としてはできないのではないかと思います。
2
2
 
3
- DB側が変更できない事情のようなので、EntityBean側のPrimalyKeyアノテーションを外すことになるかと思います。同一事象に遭遇していないので、試したことはないのですが。
3
+ DB側が変更できない事情のようなので、EntityBean側のPrimalyKeyアノテーションを外すことになるかと思います。同一事象に遭遇していないので、試したことはないのですが。
4
+
5
+ ---
6
+
7
+ EntityBean側にPrimalyKey指定が有るものと勘違いしていました。済みません。
8
+ PrimalyKey指定していないので、値がnullでも問題ないように思えます。Oracle接続の環境が作れないのでちょっと調べられません。解決につながるか分かりませんが、エラー内容やサーバーログなど提示してみてはどうでしょうか。関係ないかも知れませんが、varcher2のサイズがTableとEntityで異なるのが気になりました。

1

EntityBean側の修正について

2016/09/07 10:55

投稿

BlueMoon
BlueMoon

スコア1339

answer CHANGED
@@ -1,1 +1,3 @@
1
- JPAではEntityBeanはDBのTableデザインと一致していることが前提となります。EntityBeanのメンバ定義とTableのcolumn定義が不一致の場合、何らかの不具合が起きても不思議はないです。PrimalyKeyにnullが含まれるというのはDBとして矛盾なので、エラーとして弾いている可能性が考えられます。ご質問に対する解としてはできないのではないかと思います。
1
+ JPAではEntityBeanはDBのTableデザインと一致していることが前提となります。EntityBeanのメンバ定義とTableのcolumn定義が不一致の場合、何らかの不具合が起きても不思議はないです。PrimalyKeyにnullが含まれるというのはDBとして矛盾なので、エラーとして弾いている可能性が考えられます。ご質問に対する解としてはできないのではないかと思います。
2
+
3
+ DB側が変更できない事情のようなので、EntityBean側のPrimalyKeyアノテーションを外すことになるかと思います。同一事象に遭遇していないので、試したことはないのですが。