1. ホーム
  2. java

[解決済み] エンティティを読み取り専用にするには?

2023-04-22 11:20:18

質問

JPAでEntityを読み取り専用にするには、どのような方法がありますか?私は、データベースのテーブルがプログラムによって一切変更されないことを望んでいます。

私は、オブジェクトを LockModeType.READ . アノテーションを使用して、データベースから取得した後にエンティティを直接ロックすることは可能ですか?それとも、その特定のエンティティのために、私の一般的なDAOを上書きして、混乱しなければなりませんか?

どのように解決するのですか?

解決策としては、フィールドベースのアノテーションを使用し、フィールドを protected と宣言し、publicなゲッターのみを指定することです。そうすることで、オブジェクトを変更することができなくなります。

(この解決策はエンティティ固有のものではなく、不変のオブジェクトを構築するための単なる方法です)