skillup

技術ブログ

Java

JPAのdetach

投稿日:

このブログで何回か書いてきたんですが、JPAを使うときにpersisit=insert,merge=updateではないです。

参考リンク

JPAまとめ

JPAでのデータベースとの同期

実はJPAでfindを使ったときにそのあと、エンティティのプロパティを変更するとmergeを行わなくても値が変更されます!

要するにエンティティマネージャー管理下に置かれているということなんでしょうね・・・

その場合、detachというメソッドを使うとエンティティマネージャーの管理下から外れ、findのあと値がいきなり変更される、という自体は防げます。

JPAはいろいろと大変なことが多いですね・・・・

ちなみに参考にしたのは金魚本の第4章のです。

-Java
-

執筆者:


comment

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

関連記事

no image

設定ファイルの置き場所

一般的にレベルの高いソースとは保守性が高いものを指します。特にWEB系ですと仕様変更がしょっちゅうなので変更があったときにいかに少ない工数で対応できるかが大切です。 保守性をあげる工夫はいろいろありま …

no image

RedmineAPI活用法

自社ではRedmineで基本的にタスク管理をしておりまして、チケット作成に手当がついたりします。 Redmine単体でもいろいろな機能があるのですが、 今月の作成したチケットと完了したチケットを手当と …

no image

Git→Jenkinsの連携 その2

以前、このエントリーでGitとjenkinsの連携に関して書いたんですが、今回jenkinsとgitのソースが別環境にあるケースの構築をしたのでメモしておきます。 Contents1 Jenkinsで …

no image

日付けのメソッド

どのプログラムでも必須となる日付け処理。 言語が違うといろいろと面倒です。 とりあえず頻出のものを整理したいと思います。 Contents1 現在時刻の出力2 日付けの設定・取得3 日付けの整形4 文 …

no image

Streamについて

Java8で導入されたStreamですが、名前はしっていたものの、使い方がわからず放置していました。 これを機に調べたのですが、コレクションフレームワークの拡張のようですね。 特徴としては以下のような …