fc2ブログ
ホーム   »  2011年08月
Archive | 2011年08月

JPA 2.0 Entity クラスの自動生成 (Eclipse 3.7)

Eclipse 3.7 で JPA (Java Persistence API) の Entity クラスを自動生成する方法について。

JPA における Entity クラスとはデータベースへのデータの出し入れを簡単に行うためのオブジェクトを定義するためのもの。Entity クラスがテーブルのスキーマ定義で、そのインスタンスが 1 レコードと考えるとイメージしやすいかもしれない (実際には結合などで生成されることもあるから必ずしもテーブルと 1 対 1 ではないが)。

IDE Eclipse 3.7 (Indigo)
Plugins Dali Java Persistence Tools - Eclipse Link JPA Suppor 3.0, JPA Diagram Editor 1.0, JPA Support 3.0
Eclipse Java EE Developer Tools 3.3
Database MySQL 5.5.14
続きを読む

Aptana 3 で JRuby on Rails 開発環境構築

Eclipse 3.7 で Aptana Studio 3 を導入して Ruby on Rails 3 開発環境を構築するまでの手順です。JRuby で行っておりますが普通の Ruby でも作業は同じですので参考にしてください。Aptana Studio 3 Getting Started も参照。

EclipseEclipse 3.7 (Indigo)
AptanaAptana Studio 3.0.4
JavaOracle JDK 1.6.0u26
RubyJRuby 1.6.4 (ruby-1.9.2-p136)
RailsRails 3.0.10
続きを読む

Rails 3.0.10 インストール

JRuby 1.6.4 をインストールした後に gem から Rails 3.0.10 をインストールしてみた。

OSWindows XP
RubyJRuby 1.6.4 (ruby-1.9.2-p136)
JavaOracle JDK 1.6.0u26
RailsRails 3.0.10
続きを読む

JRuby 1.6.4 インストール

JRuby 1.6 は Java で実装された Ruby 1.8.7 / 1.9.2 互換のプラットフォーム、つまり Java VM 上で Ruby を動かすためのツールと Java ライブラリです。今回は JRuby 1.6.4 のインストールについて。

OSWindows XP
RubyJRuby 1.6.4 (ruby-1.9.2-p136)
JavaOracle JDK 1.6.0u26
続きを読む

Android SDK インストール

諸事情により au INFOBAR A01 の内部構成を開発用に変更する必要が出たため、Windows に Android SDK をインストールする方法について覚書を記しておきます。

なお Android SDK 実行には Java SE 6 (1.6.0u26) 以上が必要ですのであらかじめインストールしておいて下さい。

  1. Android SDK インストール
  2. Android 端末設定
続きを読む

JPA/ORM フレームワーク比較

今更ですが ORM (Object-Relational Mapping) とその Java 標準である JPA (Java Persistence API) について幾つか調べてみたまとめ。

フレームワーク ライセンス JPA 備考
Oracle TopLink Oracle License 2.0 Oracle 製品。TopLink Essentials (TopLink のオープンソース版) は EclipseLink に置き換えられています。
EclipseLink Eclipse Public License,
Eclipse Distribution License
2.0 JPA 以外にも JAXB や DBWS などが含まれていて多機能。TopLink をフォークして開発が進められている。
Hibernate LGPL 2.0 iBATIS と並ぶ古くからの ORM。軽量が売りだったはずが最近ではめっきり重量級になってしまった感。
Apache OpenJPA Apache License 2.0 2.0 JPA のみで使う分にはシンプルで機能も一通り充足していておすすめ。
MyBATIS Apache License 2.0 × SQL をゴリゴリ書く開発向け。
iBATIS Apache License 2.0 × 現在開発は中止され MyBatis に移行している。

JPA か否か

JPA は新規開発でテーブル定義も自由に行え、パフォーマンスや将来的なメンテナンス要件より設計上の整合性を優先できる場合に向いている。Ruby on Rails の ActiveRecord なんぞを知っているならこちらの感覚が近い。

JPA を素直に使っている分には基盤の JPA フレームワークの差し替えが容易なのも魅力的。

逆に JPA は SQL をゴリゴリ書かなければならないような開発には向いていない。つまり、既存システムのテーブルを使わなければならない場合や、パフォーマンスのための非正規化が行われたり DB 固有の SQL を発行しなければならないようなケース。多くの SI 系業務システムはこちらではないかな。

Eclipse で使うには

Software Install から Java EE と Dali をインストールする。デフォルトで EclipseLink が使用されるが後での差し替えは容易なのでそのまま開発してもよい。

[JMX] DynamicMBean を使用する

Java Management Extension (JMX) を使用して動的に変化する MXBean を作成する方法について。

続きを読む

Postfix 2.3 セットアップ

CentOS 5 には安定と実績の (一度設定したらあまり触りたくないとも言う) sendmail が標準でインストールされていますが、システム開発で使用するのであれば拡張アドレスの使える Postfix の方が良いと思っております。 そんなわけでこの記事では Sendmail を Postfix に入れ替える方法を記述しております。

OSCentOS 5.5 final Kernal 2.6.18-194.el5xen
MTAPostfix 2:2.3.3-2.3.el5_6
続きを読む

ActiveMQ 5.5 インストール

自宅サーバで MQ を使う用事が出来たので Apache ActiveMQ を入れてみるとします。

Apache ActiveMQ™ は Java で実装された Message Queue。最新版の 5.5 では JMS 1.1, J2EE 1.4 に準拠しておりフェールオーバーや分散トランザクションにも対応している。オープンソースの MQ ミドルウェアの中では機能、ナレッジともに一番安定していてエンタープライズ向きではないかと思う。Jetty 上に構成されておりブラウザから駆動状況を管理できるようです。

想定する構成
OSCentOS 5.6 final Kernel .6.18-238.el5xen
JavaランタイムOracle Java SE 6u26
インストール先/usr/local/activemq5.5
ポートHTTP:8161, MQ:61616, (JMXはデフォルトで不定)
続きを読む

MySQL 5.5 ビルド & インストール

仕事で 5.5 系の MySQL を何度かビルドしているのだが、毎度毎度手順やコンパイルオプションを確認するのも手間なので自宅検証機での MySQL バージョンアップを機に手順をまとめておこうと思う。本家のInstalling MySQL from a Standard Source Distribution も参照。

この記事の前提条件は以下の通り。

OSCentOS 5.6 final Kernel 2.6.18-238.el5xen
MySQLMySQL 5.5.15 (Source Distribution)
インストール先/usr/local/mysql
データディレクトリ/srv/mysql
実行アカウントuid:mysql(901), gid:mysql(901)
エンジンInnoDB
文字セットUTF-8

CentOS 5.6 で MySQL 5.5 をビルドするのに必要なライブラリは以下の通り。

  • gcc-c++ (yum でインストール)
  • ncurses-devel (yum でインストール)
  • CMake

勢いで全て sudo で行っているが、きっと root ユーザで行った方が楽かと思う。

続きを読む
Profile
Takami Torao
Takami Torao
C/C++ 使いだった 1996年、運命の Java と出会い現在に至る。のらアーキテクト。
Yah, this is image so I don't wanna eat spam, sorry!
Search

Google
MOYO Laboratory
Web

カテゴリー
最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
ブロとも申請フォーム
RSSフィード
リンク