flush()方法可能会发送sql语句,但不会提交事务。
package com.gwolf;
import java.util.Date;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import com.gwolf.domain.News;
public class HibernateTest {
private SessionFactory sessionFactory;
private Session session;
private Transaction transaction;
@Before
public void init() {
//创建Configuration对象
Configuration configuration = new Configuration().configure();
//创建一个ServiceRegistry对象,hibernate的任何配置和服务都需要在该对象中注册后才有效
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().
applySettings(configuration.getProperties()).buildServiceRegistry();
//创建一个SessionFactory对象
sessionFactory = configuration.
buildSessionFactory(serviceRegistry);
//创建一个Session对象
session = sessionFactory.openSession();
//开启事务
transaction = session.beginTransaction();
}
@After
public void destroy() {
//提交事务
transaction.commit();
session.close();
sessionFactory.close();
}
@Test
public void test() {
News news = (News)session.get(News.class, 1);
news.setAuthor("oracle16");
session.flush();
}
}
package com.gwolf;
import java.util.Date;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import com.gwolf.domain.News;
public class HibernateTest {
private SessionFactory sessionFactory;
private Session session;
private Transaction transaction;
@Before
public void init() {
//创建Configuration对象
Configuration configuration = new Configuration().configure();
//创建一个ServiceRegistry对象,hibernate的任何配置和服务都需要在该对象中注册后才有效
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().
applySettings(configuration.getProperties()).buildServiceRegistry();
//创建一个SessionFactory对象
sessionFactory = configuration.
buildSessionFactory(serviceRegistry);
//创建一个Session对象
session = sessionFactory.openSession();
//开启事务
transaction = session.beginTransaction();
}
@After
public void destroy() {
//提交事务
transaction.commit();
session.close();
sessionFactory.close();
}
@Test
public void test() {
News news = (News)session.get(News.class, 1);
news.setAuthor("oracle165");
session.flush();
}
}