我正在尝试将 Hibernate 配置为在 H2 上工作,但是当我调用时:
Configuration cfg = new Configuration().configure();
调用new Configuration()
输出以下内容:
מאי 01, 2012 5:10:41 PM org.hibernate.annotations.common.Version <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.1.Final}
מאי 01, 2012 5:10:41 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.1.1}
מאי 01, 2012 5:10:41 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
מאי 01, 2012 5:10:41 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
但这并没有停止执行......在此之后,对.configure()
输出的调用:
מאי 01, 2012 5:14:39 PM org.hibernate.cfg.Configuration configure
INFO: HHH000043: Configuring from resource: /hibernate.cfg.xml
מאי 01, 2012 5:14:39 PM org.hibernate.cfg.Configuration getConfigurationInputStream
INFO: HHH000040: Configuration resource: /hibernate.cfg.xml
מאי 01, 2012 5:14:39 PM org.hibernate.cfg.Configuration doConfigure
INFO: HHH000041: Configured SessionFactory: null
这些消息是什么意思?
休眠.cfg.xml:
<session-factory>
<!-- Database connection settings -->
<property name="connection.driver_class">org.h2.Driver</property>
<property name="connection.url">jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1;MVCC=TRUE</property>
<property name="connection.username">user</property>
<property name="connection.password">password</property>
<!-- JDBC connection pool (use the built-in) -->
<property name="connection.pool_size">1</property>
<!-- SQL dialect -->
<property name="dialect">org.hibernate.dialect.H2Dialect</property>
<!-- Disable the second-level cache -->
<property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property>
<!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property>
<!-- Drop and re-create the database schema on startup -->
<property name="hbm2ddl.auto">create</property>
<!-- Names the annotated entity class -->
<mapping class="database.datatypes.Course"/>
<mapping class="database.datatypes.Distance"/>
<mapping class="database.datatypes.ExamRange"/>
<mapping class="database.datatypes.NumExamsOnDate"/>
<mapping class="database.datatypes.RecommendedSchedule"/>
</session-factory>
代表表的类之一:
@Entity
public class Distance {
private Course courseA, courseB;
private Long MinDistance, Cost;
@Id
@GeneratedValue(generator="increment")
@GenericGenerator(name="increment", strategy = "increment")
private Long id;
public Distance() {
super();
}
public Distance(Course courseA, Course courseB, Long minDistance, Long cost) {
super();
this.courseA = courseA;
this.courseB = courseB;
MinDistance = minDistance;
Cost = cost;
}
@Override
public String toString() {
return "Distance [courseA=" + courseA + ", courseB=" + courseB
+ ", MinDistance=" + MinDistance + ", Cost=" + Cost + "]";
}
public Course getCourseA() {
return courseA;
}
public void setCourseA(Course courseA) {
this.courseA = courseA;
}
public Course getCourseB() {
return courseB;
}
public void setCourseB(Course courseB) {
this.courseB = courseB;
}
public Long getMinDistance() {
return MinDistance;
}
public void setMinDistance(Long minDistance) {
MinDistance = minDistance;
}
public Long getCost() {
return Cost;
}
public void setCost(Long cost) {
Cost = cost;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
}
谢谢你。