0

H2で動作するようにHibernateを構成しようとしていますが
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>

テーブルを表すクラスの1つ:

@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;
}

}

ありがとうございました。

4

1 に答える 1

1

ご覧のとおり、あなたが言及したメッセージはINFOレベルからのものです。このロギングレベルからのメッセージは通常、基盤となるフレームワーク(ここではHibernate)が何をしているかを知らせます。したがって、その場合は、すべて問題ありません。これらのメッセージがあまりにも邪魔だと思われる場合は、ログレベルをWARNのようなものに変更してください。

于 2012-05-01T18:23:45.563 に答える