Java glassfish服务器上hibernate.cfg.xml中的sqlite路径
我正在尝试使用hibernate使用sqlite。然而,我在配置sqlite数据库路径时遇到了困难。目前,我的Java glassfish服务器上hibernate.cfg.xml中的sqlite路径,java,hibernate,sqlite,glassfish,Java,Hibernate,Sqlite,Glassfish,我正在尝试使用hibernate使用sqlite。然而,我在配置sqlite数据库路径时遇到了困难。目前,我的hibernate.cfg.xml如下所示: <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://www.hibernat
hibernate.cfg.xml
如下所示:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.url">jdbc:sqlite:test.db</property>
<property name="connection.driver_class">org.sqlite.JDBC</property>
<property name="hibernate.dialect">org.hibernate.dialect.SQLiteDialect</property>
<property name="current_session_context_class">thread</property>
<mapping class="com.test.entity.Category"/>
<!-- DB schema will be updated if needed -->
<!-- <property name="hbm2ddl.auto">update</property> -->
</session-factory>
</hibernate-configuration>
Category.java
@Entity
@Table(name = "category", schema = "", catalog = "")
public class Category {
private String id;
private String name;
private String imageUrl;
@Id
@Column(name = "id")
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
@Basic
@Column(name = "name")
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Basic
@Column(name = "imageUrl")
public String getImageUrl() {
return imageUrl;
}
}
public class HibernateUtil {
private static SessionFactory sessionFactory;
private static SessionFactory buildSessionFactory() {
try {
Configuration configuration = new Configuration();
configuration.configure("hibernate.cfg.xml");
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(
configuration.getProperties()).build();
return configuration.buildSessionFactory(serviceRegistry);
} catch (Throwable ex) {
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
if(sessionFactory == null){
sessionFactory = buildSessionFactory();
}
return sessionFactory;
}
public static void shutdown() {
getSessionFactory().close();
}
}
HibernateUtil.java
@Entity
@Table(name = "category", schema = "", catalog = "")
public class Category {
private String id;
private String name;
private String imageUrl;
@Id
@Column(name = "id")
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
@Basic
@Column(name = "name")
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Basic
@Column(name = "imageUrl")
public String getImageUrl() {
return imageUrl;
}
}
public class HibernateUtil {
private static SessionFactory sessionFactory;
private static SessionFactory buildSessionFactory() {
try {
Configuration configuration = new Configuration();
configuration.configure("hibernate.cfg.xml");
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(
configuration.getProperties()).build();
return configuration.buildSessionFactory(serviceRegistry);
} catch (Throwable ex) {
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
if(sessionFactory == null){
sessionFactory = buildSessionFactory();
}
return sessionFactory;
}
public static void shutdown() {
getSessionFactory().close();
}
}
我使用的是Hibernate 5.1.0版
我已经检查了
sessionFactory.getAllClassMetadata()
-它显示没有类映射。非常感谢您的帮助。您使用的Hibernate 5配置方式不正确
Configuration configuration = new Configuration();
configuration.configure("hibernate.cfg.xml");
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(
configuration.getProperties()).build();
return configuration.buildSessionFactory(serviceRegistry);
在Hibernate5中,当您执行configuration.configure(“Hibernate.cfg.xml”)
时,一切都已正确配置。但是当您执行configuration.buildSessionFactory(serviceRegistry)
时,所有配置都将丢失
照办
return new Configuration().configure().buildSessionFactory();
提及
请添加您的
类别
和配置代码,以及Hibernate版本。@v.ladynev嘿,我已经更新了。请重新检查,添加创建会话工厂的代码。@v.ladynev Added。你能检查一下吗。