如何在没有 hiberante.cfg.xml 文件的情况下创建 Hibernate 会话?
How can I create a Hibernate session without hiberante.cfg.xml file?
这是我第一次使用 Hiberante
。
我正在尝试使用以下方法在我的应用程序中创建一个 Hibernate session
:
Session session = HiberanteUtil.getSessionFactory().openSession();
它给我这个错误:
org.hibernate.HibernateException: /hibernate.cfg.xml not found
但是我的项目中没有 hibernate.cfg.xml
文件。
如何在没有这个文件的情况下创建会话?
import java.util.Properties;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import com.concretepage.persistence.User;
public class HibernateUtil {
private static final SessionFactory concreteSessionFactory;
static {
try {
Properties prop= new Properties();
prop.setProperty("hibernate.connection.url", "jdbc:mysql://localhost:3306/hibernate");
prop.setProperty("hibernate.connection.username", "root");
prop.setProperty("hibernate.connection.password", "");
prop.setProperty("dialect", "org.hibernate.dialect.MySQLDialect");
concreteSessionFactory = new AnnotationConfiguration()
.addPackage("com.concretepage.persistence")
.addProperties(prop)
.addAnnotatedClass(User.class)
.buildSessionFactory();
} catch (Throwable ex) {
throw new ExceptionInInitializerError(ex);
}
}
public static Session getSession()
throws HibernateException {
return concreteSessionFactory.openSession();
}
public static void main(String... args){
Session session=getSession();
session.beginTransaction();
User user=(User)session.get(User.class, new Integer(1));
System.out.println(user.getName());
session.close();
}
}
配置 Hibernate 4 或 Hibernate 5 的简单方法
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
Hibernate 从 hibernate.cfg.xml
和 hibernate.properties
读取配置。
如果你不想阅读 hibernate.cfg.xml
,你不应该打电话给 configure()
。添加带注释的 class
SessionFactory sessionFactory = new Configuration()
.addAnnotatedClass(User.class).buildSessionFactory();
这是我第一次使用 Hiberante
。
我正在尝试使用以下方法在我的应用程序中创建一个 Hibernate session
:
Session session = HiberanteUtil.getSessionFactory().openSession();
它给我这个错误:
org.hibernate.HibernateException: /hibernate.cfg.xml not found
但是我的项目中没有 hibernate.cfg.xml
文件。
如何在没有这个文件的情况下创建会话?
import java.util.Properties;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import com.concretepage.persistence.User;
public class HibernateUtil {
private static final SessionFactory concreteSessionFactory;
static {
try {
Properties prop= new Properties();
prop.setProperty("hibernate.connection.url", "jdbc:mysql://localhost:3306/hibernate");
prop.setProperty("hibernate.connection.username", "root");
prop.setProperty("hibernate.connection.password", "");
prop.setProperty("dialect", "org.hibernate.dialect.MySQLDialect");
concreteSessionFactory = new AnnotationConfiguration()
.addPackage("com.concretepage.persistence")
.addProperties(prop)
.addAnnotatedClass(User.class)
.buildSessionFactory();
} catch (Throwable ex) {
throw new ExceptionInInitializerError(ex);
}
}
public static Session getSession()
throws HibernateException {
return concreteSessionFactory.openSession();
}
public static void main(String... args){
Session session=getSession();
session.beginTransaction();
User user=(User)session.get(User.class, new Integer(1));
System.out.println(user.getName());
session.close();
}
}
配置 Hibernate 4 或 Hibernate 5 的简单方法
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
Hibernate 从 hibernate.cfg.xml
和 hibernate.properties
读取配置。
如果你不想阅读 hibernate.cfg.xml
,你不应该打电话给 configure()
。添加带注释的 class
SessionFactory sessionFactory = new Configuration()
.addAnnotatedClass(User.class).buildSessionFactory();