[jpa:28] Re: JPAアンケート

naoki kishida [E-MAIL ADDRESS DELETED]
2007年 4月 24日 (火) 21:20:23 JST


きしだです

> (1)JPAを仕事で使っていますか、もしくは今後使う予定がありますか?
>    [はい / いいえ]

「JPAを教えた」というのは仕事で使ったうちには入りませんか。そうですか。
今担当してるプログラムはデータベース自体使ってないのでJPAを使ってないで
すけど、データベース使うときにはJPA使います。

> (2)(1)で「はい」と答えた方に質問です。
>    JPA実装には何を使っていますか、もしくは使う予定ですか?
>    [Hibernate / TopLink / OpenJPA / Cayenne]

教えるときにはNetBeans付属のTopLink
実装ではHibernate

> (3)JPAを学ぶにあたってわかりにくい点を挙げるとしたらそれは何ですか?

他の方もあげられているように、エンティティのライフサイクルがわかりにくい
です。データ追加時の@ManyToOneのオブジェクトはキーだけ設定してあればいい
とかがまた混乱のタネ。(これは仕様?実装?)
JPAを教えてみて思ったのですが、この、エンティティのライフサイクルを理解
してもらうのはかなり難しいかと思いました。
あとは、JP-QLのselectのあとにエンティティが来るということとか、select句
のSQLとの違いに戸惑ってるようでした。
マッピングの定義に関しては、現状でも学習用であればNetBeansが吐き出したも
ので十分だし、それなりのツールがあれば問題ないかなと思ってます。

> (4)お気に入りのDBアクセスのフレームワークはありますか?

JPAで。

> (5)DBアクセスの為にSQLを積極的に書きたいですか? 
>    それともできるだけ書きたくないですか?

これは、JP-QLも含むのでしょうか?
とりあえず、キーから名前をとってくるためだけのjoinは書きたくないです。
マッピング先のテーブルにwhere句がついた程度のビューを使ったり、where句で
JP-QL非対応の関数使うときに
  em.createNativeQuery("select * from v_local_shohin", TShohin.class)
のようなことを書くくらいであれば、SQLでも特に問題ないかなぁと思います。
ただ、条件が可変のときなどxQLを文字列操作で組み立てるのはあまり嬉しくな
いので、Criteriaは標準に欲しいところです。
JP-QLのselect句でnewを書くのはOKですが、@SqlResultSetMappingは書きたくな
いです。

----
きしだ なおき
	email:[E-MAIL ADDRESS DELETED]
	http://d.hatena.ne.jp/nowokay/



jpa メーリングリストの案内