13日目のエンティティーキャッシュ、エンティティーライフサイクル/クイックキャンパスの課題
1802 ワード
Repository.flush()
永続性コンテキストに蓄積されたデータは、エンティティマネージャによって自動的にDBに永続化されます.開発者は、予想されるタイミングで持続性を生じません.開発者が望む時間に実行するにはflushを使用する必要があります.
むやみに水を流すと、永続的なキャッシュの役割がうまく利用できないことに注意してください.
別のDBに反映すると、
Transstationが終了するとDBに反映されます.
save()の実装から,@Transactionalを実現した.
論理的@Transcionalを賭けると,メソッド全体が終了すると自動的にリフレッシュされる.
Entity Managerが管理するEntityがどのように管理されているか、ライフサイクルについて説明します.
ライフサイクルには4つの状態があります
非永久状態(new)
えいきゅうじょうたい
じゅんれんぞくじょうたい
削除ステータス(削除済み)
非永続状態
:永続性コンテキストはエンティティオブジェクトを管理しません
@Transionは非永続的な状態を維持します.
宣言すると、Entityとしてではなく、簡単なJavaオブジェクトとして扱われていると考えられます.
Service Package 생성
UserService.java
@Service
public class UserService{
@Transactional
public void put(){
User user = new User();
user.setName("newUser");
user.setEmail("[email protected]");
}
UserServiceTest.java
@SpringBootTest
class UserServiceTest{
@AutoWired
private UserService userService;
@AutoWired
private UserRepository userRepository;
@Test
void test(){
userService.put();
System.out.println(">>> "+ userRepository.findByEmail("[email protected]"));
}
result
selectクエリは返されますが、実際の値はありません.
Entityとして、userという名前のオブジェクトはdbに関連付けられるのではなくJavaオブジェクトとしてのみ存在します.
不永久化は,ゴミ収集器によって実現され,消失の対象として扱われる.
#クイックキャンパス#パカムチャレンジ#サラリーマン姜#職場人柄マシン脚#クイックキャンパス後期#使い捨て終了Java/spring Web開発Master超差パッケージオンライン
このレポートは、迅速なキャンパス税還付の課題に参加することを目的としています.
https://bit.ly/3FVdhDa
Reference
この問題について(13日目のエンティティーキャッシュ、エンティティーライフサイクル/クイックキャンパスの課題), 我々は、より多くの情報をここで見つけました https://velog.io/@mangojuice/Entity-캐시-패스트캠퍼스-챌린지-13일차テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol