Hibernate 中如果直接使用
public class TeacherTest {
@Test
public void update(){
Session session = HibernateUitl.getSessionFactory().getCurrentSession();
session.beginTransaction();
Teacher t = (Teacher) session.get(Teacher.class, 3);
t.setName("yangtb2");
session.update(t);
session.getTransaction().commit();
}
}
Hibernate:
update
Teacher
set
age=?,
birthday=?,
name=?,
title=?
where
id=?
<property name="age" update="false"></property>
@Column(updatable=false)
public int getAge() {
return age;
}
Hibernate:
update
Teacher
set
birthday=?,
name=?,
title=?
where
id=?
<class name="com.sccin.entity.Student" table="student" dynamic-update="true">
public class TeacherTest {
@Test
@DynamicUpdate
public void update(){
Session session = HibernateUitl.getSessionFactory().getCurrentSession();
session.beginTransaction();
Teacher t = (Teacher) session.get(Teacher.class, 3);
t.setName("yangtb2");
session.update(t);
session.getTransaction().commit();
}
}
public void update(){
Session session = HibernateUitl.getSessionFactory().getCurrentSession();
session.beginTransaction();
Query query = session.createQuery("update Teacher t set t.name = 'yangtianb' where id = 3");
query.executeUpdate();
session.getTransaction().commit();
}
Hibernate:
update
Teacher
set
name='yangtianb'
where
id=3