【发布时间】:2016-04-10 00:01:40
【问题描述】:
我在 Maven 中使用休眠时遇到了异常。休眠版本是 5.1.0.Final。 例外是: 这是我的项目结构:
这是我的实体类 ABC:
package com;
import javax.persistence.*;
@Entity
@Table(name = "abc_inf")
public class ABC {
@Id@GeneratedValue
private Integer id;
private String name;
public ABC() {
}
setters and getters omitted
}
这是我的主要课程:
package com;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
public class Main {
public static void main(String[] args) {
Configuration conf = new Configuration().configure();
ServiceRegistry sr = new StandardServiceRegistryBuilder().applySettings(conf.getProperties()).build();
SessionFactory sf = conf.buildSessionFactory(sr);
Session session = sf.openSession();
ABC abc = new ABC();
abc.setName("abc");
session.save(abc);
session.flush();
session.close();
sf.close();
}
}
这是我的 hibernate.cfg.xml:
<hibernate-configuration>
<session-factory>
mysql connection and properties settings omitted
<mapping class="com.ABC"/>
</session-factory>
</hibernate-configuration>
【问题讨论】:
-
您能否在运行主程序之前确认您正在调用 hibernate.cfg.xml 来配置您的实体
-
它使用hibernate.cfg.xml,否则它会抛出一些连接异常,因为它首先无法连接到数据库。我还打印了 Configuration 中的属性,它与 hibernate.cfg.xml 中定义的属性相同