Hibernate

「JPA入門」本が今日発売されました。

Seasar2とHibernateで学ぶデータベースアクセス JPA入門作者: 中村年宏出版社/メーカー: 毎日コミュニケーションズ発売日: 2008/02/29メディア: 単行本(ソフトカバー)購入: 7人 クリック: 374回この商品を含むブログ (19件) を見る新宿の紀伊国屋にいった…

Java Persistence API(JPA)入門本

Seasar2とHibernateで学ぶデータベースアクセス JPA入門作者: 中村年宏出版社/メーカー: 毎日コミュニケーションズ発売日: 2008/02/29メディア: 単行本(ソフトカバー)購入: 7人 クリック: 374回この商品を含むブログ (19件) を見るJava Persistence APIに…

HibernateとS2DaoとS2JDBCの考え方で思ったこと

エンティティとテーブルのマッピング方針の違いとかに焦点があてられているので特に触れられていないですけど、ストアドプロシージャーとかストアドファンションがどれだけ簡単に呼び出せるかで比較してもおもしろいと思います。この観点で比較すると、ダン…

JPQLのdistinct

気になったのでちょっと調査。部署(Department)と従業員(Employee)のエンティティが多対1のときで考えてみます。 JPQLでdistinctつけてDepartmentからEmployeeをfetch joinします。 JPQL List<Department> list = entityManager .createQuery( "select distinct d from D</department>…

Hibernateの商用版バイナリ

JBoss COMPASS Tokyo 2007に行ってきたんですが、面白いこと聞きました。 HibernateにはOSSのコミュニティ版とは別に商用版があって、バイナリが異なるらしいです。商用版バイナリって機能的にどうちがうんですかねぇ。とっても気になります。

Queryのiterate()とscroll()

なんかよくわかっていなかったので、試してみた。 iterate() テストコード public void testIterator() throws Exception { Session session = getSession(); Iterator<Employee> iterator = session.createQuery("from Employee e where e.id < 3").iterate(); try { </employee>…

Java Persistence API(JPA)はHibernateのNative APIより簡単

Hibernateを使うのだけどJPAがよくわからないからNative APIを直接使っているという方や、Hibernateを学習したいのだけど機能が多すぎて辟易しているという方が実は結構多いんじゃないかと感じています。そこで、今日はSeasar2とは関係なくHibernateのNative…

TSSでの Rod Johnson と Gavin King のやりとり

http://www.theserverside.com/news/thread.tss?thread_id=44086#226777ひと言で言うと、過去にはいろんないきさつがあったけど仲直りしてやっていこうよみたいな?

Joined Subclass の バルク更新

JPQLのバルク更新はポリモーフィックです。どういうことかというと、たとえば親エンティティへのDELETE操作は子エンティティへのDELETE操作でもあるのです。その結果、マッピングによってはJPQLのDELETE文がSQLでは複数のDELETE文になることがあります。Java…

S2Hibernateの進捗 その2

EntityReaderのコードを整理したらはHibenateのAPIを直接呼ばなくていいほどにすっきりしました(^^EntityReaderはJoinedSubclassの継承があるときなどに親子のテーブル両方をDataSetに変換しますが、さらに@CollectionOfElementsでマッピングされたテーブル…

S2Hibernateの進捗

HibernateのエンティティをDataSetに変換するEntityReaderがようやく形になってきました。(コミットしました。) もう少し洗練させたら S2JUnit4からこのEntityReaderを使ってエンティティとExcelを比較できるようにします。 S2JUnit4ももう少し使いやすく…

Mavenでのテスト通りました。

id:koichikさん、S2Hibernate-JPAがMavenでテストが通らないというのはガセネタでした。すみません。m(_ _)m ローカルのリポジトリ(.m2/repogitory)を一旦削除してテスト走らせたらOKでした。私の環境の問題だったようです。

S2Hiberanteでマッピングファイルの自動登録

こんな感じで考えました。 まずpersistence.xmlのproviderにorg.seasar.hibernate.jpa.S2HibernatePersistenceを指定。persistence.xml <persistence> <persistence-unit name="persistenceUnit" transaction-type="JTA"> <jta-data-source>jdbc/DataSource</jta-data-source> <provider>org.seasar.hib…</provider></persistence-unit></persistence>

まだまだ

マッピングファイルを自動でみつけてHibernateに渡す機能を作ったつもりでしたが、マッピングファイルのpathをHibernateに教えても正確じゃないですね...おんなじリソースを読み込むとは限らないし。InputStreamにすべきですね、きっと。明日やります。Resou…

S2Hibernate-JPAでエンティティの自動登録 その2

目標としていた次の機能をつくりました。 指定したエンティティをS2コンテナ経由でHibernateに登録 指定したマッピングファイルをS2コンテナ経由でHibernateに登録 指定したパッケージ以下のエンティティをS2コンテナ経由でHibernateに自動登録 3番目の機能…

S2Hibernate-JPAでエンティティの自動登録

HibernateEntityManagerには自動でエンティティを見つけてくれる機能があって便利ですが、テストクラスごとに扱うエンティティを変えたい(テストAではHogeエンティティを使うがテストBではHogeエンティティを使いたくない)ときなどには、細かい制御ができな…

EntityPersisterたち

HibernateのEntityをDataSetに変換したいのですが、そのとき使えそうなのがEntityPersisterです。 org.hibernate.persister.entity.SingleTableEntityPersister org.hibernate.persister.entity.JoinedTableEntityPersister org.hibernate.persister.entity.…

memo

Developing Hibernate applications for use with WebSphere Application Server (via Unofficial DB2 BLOG)

Hibernate と Data Transfer Object(DTO)

Hibernate in Actionの中でもDTOはあんまりよく言われていないですね。8.1.2の「Using Hibernate in an EJB container」ではSession FacadeよりEJB Commandパターンを推していますが、Session Facade + DTOの組み合わせの方がどう見ても楽に思えるのは僕だけ…

memo

Hibernate Performance Tips