티스토리 뷰

이 두 필드를 업데이트하지 않으려면 다음으로 표시 할 수 있습니다 @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
댓글
공지사항
Total
Today
Yesterday
«   2025/09   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30