You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
JPOUG Tech Talk Night #2 で話した内容に飲み会で質問された内容を加えています。Read less
これはJava EE Advent Calendar 2013の21日目 昨日は[twitter:@Hachiro808]さんのThymeleafを業務で使いたいでした。 皆様はJPAのL2キャッシュというものをご存知でしょうか。 L2キャッシュとは エンティティをキャッシュし、複数のスレッド間でエンティティを使ってデータをやりとりする場合にいちいちデータベースにアクセスしなくて良くするためのキャッシュです。 普通にエンティティのキャッシュです。ちなみにL1キャッシュというのもありまして、そちらは同じスレッド内で同じエンティティを取得する場合に毎回DBにアクセスしに行かなくて良くするためのキャッシュです。 詳しくはOracleの人が書いた資料があったのでそちらを参照してください。 JPAのキャッシュを使ったアプリケーション高速化手法 超クセモノなL2キャッシュ とまあ、字面だけ見ると非常に
うらがみがJavaまわりのORMを知りたい会 - connpass Java の O/R マッパーまわりの話を知りたかったので、6/14 に行われた勉強会 「うらがみが Java まわりの ORM を知りたい会」 に参加してきました。 会場は和室でした。 Java まわりの O/R マッパー、あんまり詳しくないのでいろいろ知れて良かったです。 メモを残しておきます。 発表内容 Java の ORM、Doma の話 +α (@backpaper0 さん) 発表資料: JavaのORM、Domaの話 +α — JavaのORM、Domaの話 1.0 documentation いろんな O/R マッパーについての簡単な紹介と、Doma の紹介。 紹介された O/R マッパーのうち、使うとしたら JPA か Iciql か Doma かなーという気持ちになった。 (個人の感想です。) ちなみに紹
このエントリはJava EE Advent Calendar 2013の13日目の金曜日です。 昨日は@nagaseyasuhitoさんでした。 メソッドバリデーションのユニットテスト | nagaseyasuhito Daily works. 明日は@yamadamnさんが、ぼくの知らない世界のことを書いてくれるんだと思います。 その前に Java EE 8に盛り込んで欲しい機能のアンケートが行われています。 Jersey MVCを標準に入れるべきかとか、FaceletsをJSFから切り離すべきかとか、CDIの@Stereotypeを他のアノテーションにも適用するべきかとか。MVCは欲しいし、そのMVCとJSFとでFaceletsテンプレートを共有したいし@Stereotypeでアノテーションをまとめれれば「アノテーション地獄」もなくなるし。 興味ない項目は「Not sure」にすればい
Hibernate、ActiveObjects、S2Dao、Apache Cayenne、iBATISなどORMフレームワークが群雄割拠状態なJavaですが、使い方を勉強したり設定ファイル書いたりするのが少し面倒かなと思っている人がいるかもしれません。 特にちょっとしたアプリケーションを作るならば、素のJDBCを使うのは嫌だけど、それに近い形で使えるORマッパーが欲しいと思うことがたびたびありました。 ということで以下の条件でJDBCを薄くラッピングしているJavaのライブラリを探して発見したものを紹介します。 レコードをオブジェクトに自動的にマッピングしてくれる できるだけSQLを書く量を減らすことができる いざとなったら生SQLを書くことができる 導入が簡単である 依存ライブラリが少ない 以下に挿入、検索、更新、削除を実行するコードを書いています。 今回はDBがMySQLだったので、M
<< 無料のDB2 Express-cが10.1 FP2に更新。Mac OS X版のDB2もv10.1に更新! | main | #clubdb2 2013年第1回は1/25(金)「pureScaleの事例とコレカラ」 >> 2013年になりました。明けましておめでとうございます。 今年も少しづつですが、blogを更新していこうと思っていますので、どうかよろしくお願いいたします。 新年一回目のエントリは、以前に以下に書いた「Java言語用のO/Rマッピングオープンソースフレームワーク一覧」の更新です。 - オープンソースJava O/Rマッピングソフト一覧(更新)※2008年4月のエントリ | Unofficial DB2 BLOG リストに挙げているのは、オープンソースで、かつJava用のO/Rマッピング機能を持つソフトです。いわゆる「フルスタックフレームワーク」にはO/Rマッピング機能
Javaのフレームワークは、フロント部分はいいものがいろいろあると思うのですが、DBアクセス周りはHibernateもiBatisも正直微妙で、これが決定版!というものがありません。 個人的にはS2JDBCが使いやすいと思うのですが、Seasar2に依存しています(実際にはS2Containerを使わなくても動かせますが、Seasar2の依存JARが必要になりますし、現実問題としてS2Containerを使わないケースであればS2JDBCが候補に挙がることもまずないでしょう)。 というわけで、S2JDBCの2WaySQLが使えるDBUtils的なコンパクトなデータベースアクセスライブラリを作り始めました。 使い方はこんな感じ。JdbcManagerの代わりにSqlManagerというクラスを使います。また、流れるようなインターフェースは使わず、メソッド呼び出し一発で結果が返ってくるようにし
S2JDBCがパフォーマンスチューニングをしたということなので、もう一度パフォーマンス比較をしてみました。測定方法は前回と同様、1プロセス内で同じ処理を3回実行して最後の値を取る(最適化された状態で計測するために)、ということをそれぞれのテストケースで3回実行して真ん中の値を使っています。 コードや使用しているライブラリはリポジトリにあります。 https://www.seasar.org/svn/sandbox/doma/trunk/or-mapper-benchmark/ SQLファイルに記述されたSELECT文を使って10000件検索 19,364,522 (nanoTime) : DomaSqlFileSelectDtoTest 39,396,294 (nanoTime) : S2DaoSqlFileSelectDtoTest 12,013,783 (nanoTime) : S2J
前回につづいてパフォーマンス比較をしてみました。ただし、前回と測定方法変えてます。最適化された状態で計測するため1プロセス内で同じ処理を3回実行して最後の値を取る、ということをそれぞれのテストケースで3回実行して真ん中の値を使っています。 コードや使用しているライブラリはリポジトリにあります。 https://www.seasar.org/svn/sandbox/doma/trunk/or-mapper-benchmark/ SQLファイルに記述されたSELECT文を使って10000件検索 22,200,648 (nanoTime) : DomaSqlFileSelectDtoTest 39,252,773 (nanoTime) : S2DaoSqlFileSelectDtoTest 68,378,980 (nanoTime) : S2JdbcSqlFileSelectDtoTest 自動
データベースにH2を使ってCRUDのパフォーマンス比較をしてみました。それぞれ3回実行して真ん中の値を使っています。コードや使用しているライブラリはリポジトリにあります。 https://www.seasar.org/svn/doma/trunk/or-mapper-benchmark/ 10000件SELECT 529,419,874 (nanoTime) : DomaSelectOwnerTest 137,686,988 (nanoTime) : JdbcSelectOwnerTest 1,048,970,551 (nanoTime) : JpaSelectOwnerTest 303,612,949 (nanoTime) : S2DaoSelectOwnerTest 750,473,864 (nanoTime) : S2JdbcSelectOwnerTest 10000件INSERT(
このエントリでは、S2JDBC-Genを使って手軽にデータベースリファクタリングをする方法を紹介します。S2JDBC-Genは、Javaコード(S2JDBCのエンティティ)の修正をデータベーススキーマに反映させるツールです。 S2JDBC-Genの実行に必要な動作環境は、EclipseプラグインのDoltengを使うと簡単に用意できます。Eclipseはバージョン3.4、Doltengは昨日リリースされたばかりの0.33.0を使います。 長くなりすぎたので見出しを。。。 Doltengのインストール Doltengプロジェクトの作成 Antのコンソールエンコーディングの設定 (Windows上でEclipse3.4を動かす場合にだけ必要) H2の起動とデータの確認 データベースからエンティティの生成 エンティティからDDLとダンプデータの生成 DBリファクタリング(新たなカラムの導入) D
- The document discusses Domain-Oriented Mapping (DOM), which is a framework that maps objects to relational databases using domain models. - It describes how Doma can be used to define domain models (entities) and generate SQL from those models to perform data access operations like inserts and selects. - Benefits of using domain models include type safety, avoiding null checks, and reusability o
はじめに Apache iBATISはSQLを利用することに注力したフレームワークです。高機能なO/Rマッピングフレームワークに比べて簡単に理解でき、レガシーなJDBC、ResultSetを使ったプログラミングから簡単に乗り換えられます。特にSQLを多用する人には使いやすいフレームワークです。 この記事は前回、前々回の記事の続編です。今回はiBATISの機能を拡張する方法として、検索結果をCSVデータとして出力する方法と、データベースのデータから任意のデータ型に交換する方法を紹介します。 iBATISの基本的な内容は、以前の記事を参考にしていただけると分かりやすいと思います。過去の記事iBATISを使ったO/RマッピングによるDBアクセスの実例iBATISを使ったO/RマッピングによるDBアクセスの実例 2 対象読者Javaの基本をマスターしている人SQL文を理解している人 必要な環境 i
Java | S2JDBC S2JDBC via ひがやすをblog ドキュメントに一通り目を通した。すばらしいデザインのAPI。 特に気に入ったのが「検索条件」で説明されているSimpleWhereクラスを使ってHibernateで言うところのCriteriaオブジェクトを組み立てるところ。「valueがnullの時は追加されません。」、「valuesの配列の長さが0の時は追加されません。 」という思いやりのお陰で入力値がnullじゃなければという冗長な条件節を省ける点がユニークで便利な機能だと思う。要件がピタリと合えば、相当楽チンになるはず。 ただ書いていて気付いたけど、こういう場合に僕は if (StringUtils.isNotBlank(departmentName)) と、nullだけじゃなくて空文字列やホワイトスペースだけの文字列も検索条件から外すケースが多いので、Simp
はじめに iBATISはSQLを利用することに注力したフレームワークです。高機能なO/Rマッピングフレームワークに比べて簡単に理解でき、レガシーなJDBC、ResultSetを使ったプログラミングから簡単に乗り換えられます。 特にSQLを多用する人には使いやすいフレームワークです。 この記事は前回の「iBATISを使ったO/RマッピングによるDBアクセスの実例」の続編です。前回はSELECT、INSERT、UPDATE、DELETEの基本的な記述方法についてサンプルを紹介しました。今回はSELECT文に注目し、検索結果のマッピングと動的SQLの記述方法について説明します。 iBATISの基本的な内容は、前回の記事を参考にしていただけると、分かりやすいと思います。対象読者Javaの基本をマスターしている人SQL文を理解している人 必要な環境 iBATIS 2.3.0、J2SE 5.0の環境を
The Apache OpenJPA Project Teamは、同プロジェクトがApache Incubatorを卒業し、トップレベルプロジェクトに昇格したことを発表した。Apache OpenJPAは、JSR-220 Java Persistence API (JPA)の実装系であり、ORM(Object Relational Mapping)ツールに位置づけられる。もともと米BEA Systemsによって開発されていたKodo Java Persistence APIをベースにしたプロダクトで、2006年7月25日(米国時間)にApache Incubatorのもとで「OpenJPA」として寄贈されている。 同成果物の最新版はすでにJCP TCK for JSR-220に合格しており、標準仕様と互換性があることが確認されている。また、Eclipse IDEやNetBeans IDEと
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く