강의 출처- 인프런 김영한 강사님
https://www.inflearn.com/course/ORM-JPA-Basic
Example code (Ensurance of Entity's Equality)
with scope of the same transaction
Member findMember1 = em.find(Member.class, 1L);
Member findMember2 = em.find(Member.class, 1L);
System.out.println("findMember1 equals findMember2 ? " + (findMember1 == findMember2));
// Result: True
this is possible due to the persistence context.
em.persist(member1);
em.persist(member2);
System.out.println("============================");
// not execute query before transaction commit.
tx.commit();
// all queries executed.
<property name="hibernate.jdbc.batch_size" value="10"/>
configure the query size of behind write.
Member findMember = em.find(Member.class, 150L);
findMember.setName("I changed this to B"); // original name: A
// no need to 'em.persist(findMember)'
Member member = new Member(100L, "new");
em.persist(member);
member.setName("new new");
System.out.println("============================");
============================
Hibernate:
/* insert hellojpa.Member
*/ insert
into
Member
(name, id)
values
(?, ?)
Hibernate:
/* update
hellojpa.Member */ update
Member
set
name=?
where
id=?