skillup

技術ブログ

Java

メソッドのtransient

投稿日:

エンティティを作成するときに、データベースのカラムにない値をプロパティを持たせるためにはtransientという修飾子が必要です。

参考リンク フィールド以外のプロパティをエンティティに持たせる

通常のCDIでもserializeをする場合、内部のメソッドにSerializeインターフェイスが実装されていないとエラーが発生します。

例として下記のようなマネッジドビーンがあり、ロガーのクラスをインジェクトしているとします。

SampleBean.java

LogUtil.java

上記のケースではLogUtilがシリアライズができないためエラーが発生します。

この場合、シリアライズから除外するという意味で、transient修飾子を付けます。

↑のようにかけばOKです。

わかりやすいJavaEEウェブシステム入門

のP334にこのことについて書いてあります。

-Java
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

Javaのコーディングルール

私自身、Javaで仕事をするようになってから3ヶ月ちょっとがたちました。 もともとPHPで仕事はしていましたが、我流でやっていたこともあり、コーディングのルールとかがいい加減だったんですよね・・ ボス …

no image

char→String変換

Javaでアルファベット小文字全て、大文字全てが入った配列を作成する場合、PHPのrangeのように一気に作る方法はありません。 まあ、コツコツ入力していけばいいのですが、それでは芸がないので、文字コ …

no image

データベース文字コード対策他

Contents1 JDBC文字化け対策2 BigDecimal2.1 ソース2.2 参考リンク3 CreateQuery4 jsfのconvertNumber JDBC文字化け対策 データベースがu …

no image

JPAまとめ

JPAわけわかんねーと思い、触りはじめてから3か月ぐらいたちます。 いまだに細かい部分はよくわかっていないことは多いのですが、全体像というか何となくどういうものかはわかり始めてきたいのでまとめたいと思 …

no image

JPAでのリレーションに関して

JPAではテーブルをクラスで定義します。もちろん例外とかはいろいろあるのですが、1テーブル1クラスというつくりで、これをエンティティと呼びます。 もともとクラスを作ってからDBを作成したり、JTAの規 …