我正在尝试将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
这些消息是什么意思?
hibernate.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;
}
}
谢谢。
答案 0 :(得分:1)
如您所见,您提到的消息来自INFO级别。来自此日志记录级别的消息通常可以让您知道底层框架(此处为Hibernate)正在执行的操作。所以,在那种情况下,一切都很好。如果您认为这些消息太令人不安,只需将日志记录级别更改为WARN。