티스토리 뷰
이 두 필드를 업데이트하지 않으려면 다음으로 표시 할 수 있습니다 @Column(updatable=false)
.
@Column(name="CREATED_ON", updatable=false)
private Date createdOn;
엔티티를로드하고 수정하면 현재 Session
또는 EntityManager
열려있는 한 Hibernate는 더티 검사 메커니즘을 통해 변경 사항을 추적 할 수 있습니다. 그런 다음,시 flush
, SQL
업데이트가 실행됩니다.
UPDATE
명령문 에 모든 열이 포함되어 있지 않은 경우 동적 업데이트를 사용할 수 있습니다.
@Entity
@DynamicUpdate
public class Product {
//code omitted for brevity
}
그러면 수정 된 열만 UPDATE
명령문에 포함됩니다 .
이 예를 좋아하십시오.
public class UpdateMethodDemo {
public static void main(String[] args) {
Session session = HibernateUtil.getSessionFactory().openSession();
Student s = studentService.getById(1);
s.setNom("FuSsA");
session.beginTransaction();
session.update(s);
session.getTransaction().commit();
session.close();
}
}
편집하다:
@Transient
주석을 사용 하여 필드가 데이터베이스에서 유지되지 않음을 나타낼 수 있습니다 .
출처
https://stackoverflow.com/questions/39915906
댓글