2006-01-01から1年間の記事一覧

TopLink Essentialsでトランザクション外でLAZYロードすると・・・

S2EJB3TestCaseの@Rollbackをコメントアウトして、UserTransactionでトランザクションを始めて、EntityManagerでJOINせずにEntityを取得し、トランザクションをコミットした後にLAZYロード状態の筈の関連Entityにアクセスすると・・・ 普通にデータアクセス…

JPAの遅延ロード

自分はJPAのEntityの関連付け設定を全て遅延ロードで設定しています。EntityをVew層でも使っています。ただし、Open Session in Viewは使っていません。レイヤ層に対して役割をはっきり持たせるのは当然だと思うので、データアクセスはサービス層から呼ばれ…

TopLink JPAでN対1マッピングをLAZYロードで定義する(追記)

http://d.hatena.ne.jp/da-yoshi/20060528/1148820478#cでid:koichikさんにコメントをいただきました。JPAの仕様を読むと、PersistenceProvider側には「the provider must register for synchronization notifications against the JTA transaction」と明記…

TopLink JPAでN対1マッピングをLAZYロードで定義する

http://www.oracle.com/technology/products/ias/toplink/JPA/index.html 上記サイトでTopLink JPA(TopLink Essentials・・・どっちが正式名称?)をダウンロードして色々触っていたのですが、Java SE環境だとJTAはおろかDataSourceすら使えませんでした。…

TopLink JPA

懇親会でid:taediumさんから「TopLink入門記書きませんか?」と勧められて、とりあえず動かしてみようかなと思って調べてみました。GlassFish向けに提供されたのは「TopLink JPA」というものなんですね。ダウンロードしてみたら非常に軽量だったのでちょっと…

Seasar Conference 2006 Spring

日曜日開催ということで行ってきました。簡単に感想など キーノートセッション ホットdeployに注目。現在のプロジェクトがHibernate使ってる関係で、初期化処理が重くて重くて・・・これがあったら非常に便利だろうなと思いながらデモを拝見してました。 Tee…

Hibernate 3.2 cr2

細かな修正点がいくつか。まず、SessionFactoryをDB毎に複数作成している場合、ehcahe絡みのエラーが発生することがあります。エラーログを読んでると、多分、CacheProviderを複数同時に立ち上げるといけないような雰囲気。とりあえず、2次キャッシュを使わ…

国家の品格

国家の品格 (新潮新書)作者: 藤原正彦出版社/メーカー: 新潮社発売日: 2005/11/20メディア: 新書購入: 5人 クリック: 255回この商品を含むブログ (907件) を見る最近技術書以外の本を読んでいなかったのですが、久しぶりに本屋に行っていくつか買ってきたう…

TopLinkでは呼び出し元Entityの方にProxyが適用される

id:taedium:20060503#p1 id:taedium:20060503#p2 id:taediumさんのEJB3日記で、TopLinkの遅延ロードの動作についてテストされてます。先ほど自分が書いた「呼び出し元のgetterメソッドの方で遅延ロードをコントロールして欲しい」という欲求を、もしかしたら…

Hibernate EntityManagerを利用した感想

1ヶ月ほどご無沙汰してました。開発に没頭してましたが、そろそろ製造フェーズが終わりそうなので、ちょっと一息入れています。 Hibernateを今回初めて使ってみました。後、今思えばかなりチャレンジャーだったのですが(汗)、Hibernate EntityManagerをAP…

NANAのEDでOLIVIAの新曲を聴きました

最近はめざましとニュースJAPANしかテレビ見てなかったのですが(アヤパンとクリステルとも言う(笑))、NANAが始まるということで、ED目当てで見てみました。 日本語なんですね・・・ちょっと意外。 かなりマニアックな曲調で攻めてくるのかなと思っていた…

Hibernate 3.2: Transformers for HQL and SQL

http://blog.hibernate.org/cgi-bin/blosxom.cgi/2006/03/17#transformers_for_hql_and_sql Hibernate3.2から、QueryインターフェイスにsetResultTransformerメソッドが追加されてるのに気づきました。ResultTransformerインターフェイスを使えば、HQLやSQL…

Hibernate EntityManager 3.1 beta7

今回からHibernate3.2必須になりました。最も大きな変更は、やはりEntityManagerFactory.getEntityManagerメソッドが削除されたことでしょうか。トランザクションスコープのEntityManagerはHibernateでは提供されなくなったので、EJB3コンテナを利用するか、…

JPA application managed なEntityManagerは全てEXTENDEDになる

HibernateのEJB3フォーラムに書かれてありました。つまり、Java SE環境で使うときは、EntityManagerは自動的にはクローズされず、手動でcloseするまで有効であり続けるってことですね。コンテナ環境のEntityManagerは従来どおりなんだとか。 JBoss EJB3のソ…

Hibernate小ネタ

現場で色々使ってるうちにわかったことがいくつか。 バージョニングを行っている永続化クラス内にある、関連する永続化クラスのコレクション(Setなど)に新しい永続化クラスを追加した場合、元の永続化クラスに対して変更をかけていなくてもUPDATEが行われる…

JPA EntityManagerFactory.getEntityManagerがなくなってる

GlassFishのCVSからも、HibernateのSVNからも、EntityManagerFactory.getEntityManagerメソッドが無くなってます。同一トランザクションで同じPersistenceContextを使いまわしたいとき、今まではこのメソッドを使ってたんですけど、今後はどうしたらいいんだ…

土屋アンナ アニメ「NANA」歌う(スポニチ)

http://www.sponichi.co.jp/entertainment/news/2006/03/09/01.html レイラ役にOLIVIA。まさかここでリビの名を聞くとは思わなかった。 ・・・HYDE経由なのかな?

GlassFish

GlassFishのCVSを覗いてたら、JPAとEJBのAPIに追加・変更があったみたいですね。EntityManagerFactoryとか結構変わってます。PFDが出たのでもう大きな変更は無いと思ってたんですけど、甘かったか・・・ javax.interceptorパッケージが出来て、@AroundInvoke…

イナバウアー

荒川選手おめでとうございます。 スルツカヤが転倒したのはショックでしたが、荒川選手の金は感動しました。 イナバウアーは今年の流行語になるのかな?w

トリノ5輪

これも作業の合間に見てました。アルペン男子のフランスの人が凄かったのと、スノーボードのショーン・ホワイトが凄かった。いかん、NHK BSをつけっぱなしにしてると、どうしても引き込まれてしまいますね。

早稲田対トヨタ

家で色々作業してる合間に、久々にラグビー見ました。 凄い試合でした。学生が社会人に勝ったのは早稲田が東芝府中に勝って以来だとか。 ラインアウトを完璧に早稲田が制したのと、フォワード勝負でドライビングモールを決めたのが特に凄かった。ラグビーっ…

Hibernate EntityManager Table per class hierarchy と Generics

前回のまとめの中で、1対1でLAZYロードを行うときのCASCADE設定について、「外部キー制約を持つ方からであれば可能」とだけ書いていたのですが、この内容についてkoichikさんが詳しく説明されてます。 id:koichik:20060202#1138899609 自分は単純に、関連…

Hibernate EntityManagerで双方向1対1で遅延ロードする方法 まとめ

自分の知識不足から混乱してしまいましたが、何とか理解することができそうです。とりあえずまとめなど。 Hibernate EntityManagerで1対1の関連に対してLAZYロードを行うには、その関連する永続化オブジェクトがnullかどうかがわからなければいけません。 …

Hibernate EntityManagerで双方向1対1で遅延ロードする方法 その2

http://d.hatena.ne.jp/da-yoshi/20060131/1138664559#c id:koichik:20060131#1138732249 詳しい説明ありがとうございます! Hibernateのサイトで双方向1対1(の外部キーが無い方)がLAZYロードできない理由について書いてあったのですが、英語力の弱さの…

Hiernate EntityManagerで双方向1対1で遅延ロードする方法

一度Hibernate本体で試してみたおかげで、どうやらHibernate本体に絡む問題らしいことがわかってきました。というわけで、Hibernate本体に焦点を当ててググってみたところ、以下のページを発見しました。 Some explanations on lazy loading(Hibernate公式…

Hiernateの双方向one-to-oneの遅延ロードについて

前回Hibernate EntityManagerの@OneToOneのLAZYロードの動きで詰まっていたのですが、この件についてひがさんからアドバイス(http://d.hatena.ne.jp/da-yoshi/20060129/1138551132#c)を頂きました。ありがとうございます。早速、Hibernate3.1.1で試してみ…

Hibernate EntityManager OneToOneで双方向関連にするとLAZY LOADできない?

なんだかベータ版のライブラリに対して細かいところばかり見ても仕方ない気がしてきた・・・やっぱり、正式版が出るのを待つべきなのかな? ・・・さて、今回も@OneToOneで詰まってしまいました。複合主キーを使った@OneToOneの場合、fetch = FetchType.LAZY…

JPA 複合主キーを使った1対1、多対1

JPAで複合主キーを利用した関連の定義についてなかなかわからなかったのですが・・・試行錯誤の結果ようやく理解できました。 まず、主キーを使った1対1は、@PrimaryKeyJoinColumnを使うみたいですね。@JoinColumnsで設定した場合、登録はうまくいったので…

Hibernate EntityManagerのフィールド関連について

id:koichik:20060122#1137951021 Hibernate のAbstractEntityManagerのソースを自分なりに追っていたのですが、beta6から、javax.persistence.FlushModeTypeのフィールドを持つようになりました。PFDでFlushModeTypeからNEVERが削除されたことへの対応のよう…

JPA @PrimaryKeyJoinColumnsはMETHOD、FIELDに定義できない?

Java Persistence API、Proposed Final Draftによると @Target({TYPE}) @Retention(RUNTIME) public @interface PrimaryKeyJoinColumns { PrimaryKeyJoinColumn[] value(); }となってるけど、その直後のExampleには・・・ @Entity @IdClass(com.acme.EmpPK.c…