ソフトウェア技術Tweethttp://kikutaro777.hatenablog.com/entry/2013/07/05/211817RDBのXMLがいまいちわからないということなのでかるく書いてみる。JDBCのリファレンスとして、JavaDBという名前で利用されているため。ちなみにJava6のJDBC4にいち早く対応はしたものの、Java6のSQLXMLは使えない。文字列を利用して転送する。生JDBCでもいいけど、たるいのでDB接続情報はpersistence.xmlに記述。JPAでNativeQueryのみを使う。Entityは作らない。いわゆるJPAらしさはゼロ。Javaである必要性も低いレベル。テーブルはint型のidとXML型のxml_valueという項目をもつ。emf.close();}Connectionすら取り出さず扱っている。Queryというのは生JDBCでいうとPreparedStatement相当だということがわかる。内容はHTMLのtitleタグのテキストが「aaa」のものを検索し、bodyのテキストを取得するというもの。実行結果は以下の通り1/あ3/う複雑な構造を格納したいという場合はまぁありだろう。条件として使いたい場合はパフォーマンスを見てからのほうがよいかもしれない。RDBの苦手な階層の構造を持つというのは結構便利なのはわかってもらえると思う。DerbyのJDBCドライバではXMLPARSEしかパラメータが使えないようなので注意。XMLの一部のみを取り出したいという場合はEntityやNamedQueryと相性も悪い。更新はいいとして、JPQLでも扱えないわけで。いうのをJPQLで扱いたい場合はストアドやユーザー関数などにして呼び出すというのがスマートだろうか。ちなみにDerbyでは使わないがSQLXMLという型が登場して便利になったのはJava6から。そのほか、LOB関連も満足に標準APIで使えるようになったのもJava6から。Java5以前はとっくにサポート切れてるし、気にしなくてもよさそうだけどね。月別アーカイブおすすめはてなブログをはじめよう!shinさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。