How to get the session object
1、openSession
2、getCurrentSession
Second, use openSession to obtain the session object
1. Code
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;
import org.junit.Test;
public class SessionTest {
@Test
public void testOpenSession(){
// create configuration object
Configuration config = new Configuration().configure();
// create service registration object
ServiceRegistry serviceRegistery = new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();
// create session factory object
SessionFactory sessionFactory = config.buildSessionFactory(serviceRegistery);
// create session object
Session session = sessionFactory.openSession();
if(session!=null){
System.out .println ( "Session created successfully!" );
}
else{
System.out.println ( " Session creation failed!" );
}
}
}
2. Running results
session created successfully!
Three use getCurrentSession to get the session object
1. Code
<property name="hibernate.current_session_context_class">thread</property>
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;
import org.junit.Test;
public class SessionTest {
@Test
public void testGetCurrentSession(){
// 创建配置对象
Configuration config = new Configuration().configure();
// 创建服务注册对象
ServiceRegistry serviceRegistery = new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();
// 创建会话工厂对象
SessionFactory sessionFactory = config.buildSessionFactory(serviceRegistery);
// 创建会话对象
Session session = sessionFactory.getCurrentSession();
if(session!=null){
System.out.println("getCurrentSession创建成功!");
}
else{
System.out.println("getCurrentSession创建失败!");
}
}
}
2、运行结果
getCurrentSession创建成功!