Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

하지만, EntityManager(이하 em)가 관리하는 PersitenceContext를 이해하려면 

em을 em객체를 통해 저수준의 JPA API를 통해 영속성과 관련된 몇가지 기능을 직접 호출하여 데이터 베이스를 제어해보겠습니다호출해보는것이 도움이되며

조금더 복잡하고 커스텀한 트랜잭션 처리및 조회등,서비스로직과 관련된 변경처리를 

조금더 로우수준으로 구현가능합니다

인터페이스 준비

Code Block
languagejava
themeEmacs
public interface MyAddressRepository  {
	void someTest(Address2 address2);
}


public class AddressRepositoryImpl implements MyAddressRepository { 
	@PersistenceContext
	private EntityManager em;
	  
	@Override
	@Transactional
	public void someTest(Address2 address2) {
		em.refresh(address2);		
		em.detach(address2);
		em.persist(address2);
		em.lock(address2, null);
		em.flush();
	}	  
}
public interface AddressRepository extends JpaRepository<Address2, Long>,MyAddressRepository {

}

네이밍 룰

네이밍설명
MyAddressRepository

인터페이스이며, 커스텀함 함수규격을 미리 설명을 해놓아야합니다.

네이밍 특성 : 특성+테이블명+저장소

My + Address + Repository

AddressRepositoryImpl

커스텀한 구현체를 정의합니다.

네이밍 특성: 테이블명+저장소+구현

MyAddressRepositoryImpx ( X )

AddressRepository

최종 사용가능해진 저장소이름입니다. JPA의 기본 저장소 특성과함께

사용자 정의 기능을 함께 사용가능합니다.

네이밍특성: 테이블명+저장소



Insert


Update


Delete