Archive for 11 月, 2007

エンティティクラス -3-

月曜日, 11 月 26th, 2007

今回はジョインテーブルを使用した場合を調べてみました。
下記のようなテーブルを追加して自動生成されるエンティティクラスのリレーションシップがどうなるのか?

project テーブル

talent_project テーブル

talent テーブル

双方向 ManyToMany でちゃんとジョインテーブルも利用されてます。
完璧ですね。
主側が talent テーブルになってますね。
これは project テーブルの PROJECT_NAME , PLATFORM のデフォルト値が null だからでしょうかね。
そこで下記のようなテーブルを作ってみました。

genre テーブル

talent_genre テーブル

talent テーブル

genre テーブル

同じ双方向 ManyToMany でも主側が genre テーブルになってます。
GENRE_NAME_1 が NOT NULL になっているからでしょうか?
この微妙な違いを評価しているとすれば凄いですね。
とりあえずジョインテーブルを利用した双方向 ManyToMany のリレーションシップも自動生成されることが確認できました。

流石! NetBeans !

エンティティクラス -2-

日曜日, 11 月 25th, 2007

昨日の続きです。
NetBeans6.0 ではこのように解釈したようです。

talent テーブル

hobby テーブル

Office テーブルとの違いは OneToMany がカスケード戦略が採用されているようです。
賢い選択だと思います。
恐るべし! NetBeans6.0 !

エンティティクラス -1-

土曜日, 11 月 24th, 2007

NetBeans6.0 を使えばデータベースからエンティティクラスを作成することができます。
もちろん JPA も利用できます。
そこで下記のようなテーブルを用意してどのようなエンティティクラスが作成されるか調べてみました。

talent テーブル

21.JPG

office テーブル

22.JPG

talent テーブル

1.JPG

office テーブル

2.JPG

ちゃんとリレーションシップできてますね。
もちろん、各カラムのアクセッサメソッドも@Idアノテーション等も自動生成されてます。
非常に便利な機能ですね。
さて、下記のようなよく似たテーブルだとどのようなリレーションシップをとってくれるのでしょうか?

hobby テーブル

23.JPG

office テーブルとの違いは talent テーブルの外部キーが null を許可するかしないかです。
この答えは後日ということで・・・

James Gosling

日曜日, 11 月 11th, 2007

Java の父 James Gosling の特別インタビュー記事を読んだ。
その中で「正直、Java がここまで普及するとは思わなかった」とある。
私も同感です。
Java は組込機器向けの言語として生き残るか、超マイナーな言語として存在するだろうと思ってました。
そして彼の理念の一つに「楽しくないことはやめてしまう」というのがあります。
これには少し驚きましたが、やはりそうかもしれません。
楽しいことに夢中になり頑張って結果がでるとうれしいものですから。
やはり Java の父は偉大ですね。

BeanInfoエディタ どこ?

月曜日, 11 月 5th, 2007

NetBeans6.0 と 5.5 を見比べていたらずいぶんすっきりしているのに気付きました。

1.JPG

すっきりしたのはいいのですが・・・
これってどうすれば出てくれるのでしょうか?

2.JPG

3.JPG

どうやって出すのか解らない(><)
日本語版が出たらヘルプを見て調べることにします。
それまでは気がつかなかったことにしよう(爆

Java Persistence API で遊ぶ

土曜日, 11 月 3rd, 2007

NetBeansを使えば自動でデータベースのテーブルからエンティティクラスを作成できる。
非常に便利な機能です。
それを利用して今さらですが超簡単なプログラムを作ってみた。
女性タレントの情報を表示させるだけのものだ。
暇な人はこちらをご覧ください。

http://yucchi-ja.com/java/netbeans/007/2007_jpa_1.html

プログラムを実行するとちゃんと動きました。

25.JPG

今回一番大変だったのは女性タレントの情報収集でした(><)

I haven’t been sleeping well recently.