사용 사례는 다음과 같습니다. 최대 절전 모드를 사용하는 프로젝트를 상속했습니다. 지금 당장 집중하고있는 엔티티는이 연습의 목적 상 을 수정에 대해 닫았습니다. 연습의 목적은 레거시 엔티티의 사용을 새로운 요구 사항에 더 적합한 비 관련 구현으로 대체하는 것입니다.엔티티를 최대 절전 모드로 전환하려면 어떻게해야합니까?
목표는 이전 엔터티에서 새로운 으로 점진적으로 기능을 이동할 수있게하는 것입니다.. 이므로
은 기존 개체의 사용은 구성 마법
//...
final Session currentSession = sessionFactory().getCurrentSession();
{
LegacyEntity oldAndBusted = get(currentSession, "12345");
oldAndBusted.change(...);
put(oldAndBusted);
}
}
LegacyEntity get(final Session currentSession, String businessId) {
return (LegacyEntity) currentSession
.createQuery("from PurpleMonkeyDishwasher where businessId = ?")
.setParameter(0, "12345")
.uniqueResult();
}
void put(final Session currentSession, LegacyEntity changed) {
currentSession.saveOrUpdate(changed);
}
같은 나는 새를 위해 유사한 코드를 준비하려면 어떻게 일부 hbm.xml 파일
<class name="LegacyEntity" table="PurpleMonkeyDiswasher">
<!-- stuff -->
</class>
을 오프 숨겨진 보인다 동일한 테이블에 매핑 된 엔티티
아직 코드 경로를 손상시키지 않고 동일한 프로세스에서 LegacyEntity를 사용합니까?
마이그레이션하는 동안 매우주의해야합니다. – Kayaman