小编典典

如何修复我的第一个Hibernate项目中的错误?

hibernate

我已经尝试过进行第一个Hibernate项目。我在项目中添加了以下库:

antlr-2.7.7 commons-collections-3.2.1 dom4j-1.6.1 hibernate-commons-
annotations-4.0.1.Final hibernate-core-4.1.0.Final hibernate-
jpa-2.0-api-1.0.1.Final javassist-3.15.0-GA jboss-logging-3.1.0.CR2 jboss-
transaction-api_1.1_spec-1.0.0.Final mysql-connector-java-5.1.18-bin

hibernate.cfg.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
    <property name="hibernate.connection.url">jdbc:mysql://localhost/test</property>
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>

    <property name="hibernate.connection.username">root</property>
    <property name="hibernate.connection.password"></property>
    <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>

    <mapping class="com.nda.hibernate.Person"/>
</session-factory>
</hibernate-configuration>

Person.class:

package com.nda.hibernate;

import javax.persistence.Entity;
import javax.persistence.Id;


@Entity
public class Person {

    private String name;

    @Id
    private int number;

    public Person() {}

    public Person(String name, int number) {

        this.name=name;
        this.number=number;
    }

    public void setName(String name) {
        this.name=name;
    }

    public String getName() {
        return name;
    }

    public void setNumber(int number) {
        this.number=number;
    }

    public int getNumber() {
        return number;
    }
}

我安装了Denwer。使用的参数:login-root,密码为空。服务器是localhost,并且具有带有表“ person”的数据库“
test”(CHAR(50)名称,INT(10)号-主键)

主类:

    SessionFactory sessions=new AnnotationConfiguration().configure().buildSessionFactory();
    Session session=sessions.openSession();

没用 我有一些错误:

03.03.2012 14:11:07 org.hibernate.annotations.common.Version <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.1.Final}
03.03.2012 14:11:07 org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.1.0.Final}
03.03.2012 14:11:07 org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
03.03.2012 14:11:07 org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
03.03.2012 14:11:07 org.hibernate.cfg.Configuration configure
INFO: HHH000043: Configuring from resource: /hibernate.cfg.xml
03.03.2012 14:11:07 org.hibernate.cfg.Configuration getConfigurationInputStream
INFO: HHH000040: Configuration resource: /hibernate.cfg.xml
03.03.2012 14:11:07 org.hibernate.internal.util.xml.DTDEntityResolver resolveEntity
WARN: HHH000223: Recognized obsolete hibernate namespace http://hibernate.sourceforge.net/. Use namespace http://www.hibernate.org/dtd/ instead. Refer to Hibernate 3.6 Migration Guide!
03.03.2012 14:11:07 org.hibernate.cfg.Configuration doConfigure
INFO: HHH000041: Configured SessionFactory: null
03.03.2012 14:11:07 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000402: Using Hibernate built-in connection pool (not for production use!)
03.03.2012 14:11:07 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000115: Hibernate connection pool size: 20
03.03.2012 14:11:07 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000006: Autocommit mode: false
03.03.2012 14:11:07 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000401: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://localhost/test]
03.03.2012 14:11:07 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000046: Connection properties: {user=root, password=****}
03.03.2012 14:11:08 org.hibernate.dialect.Dialect <init>
INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQL5Dialect
03.03.2012 14:11:08 org.hibernate.engine.transaction.internal.TransactionFactoryInitiator initiateService
INFO: HHH000399: Using default transaction strategy (direct JDBC transactions)
03.03.2012 14:11:08 org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory <init>
INFO: HHH000397: Using ASTQueryTranslatorFactory

我该如何解决?谢谢。


阅读 296

收藏
2020-06-20

共1个答案

小编典典

在我看来,这些都不是错误-它们只是日志行。唯一的“问题”是此处的警告:

警告:HHH000223:公认的过时的hibernate名称空间http://hibernate.sourceforge.net/。请改用名称空间http://www.hibernate.org/dtd/。请参阅《
Hibernate 3.6迁移指南》!

这只是一个警告-值得一修复,但它听起来像它不是 非常 迫切。

其他所有内容都处于INFO级别…因此不必担心它们。继续前进,看看您的代码是否符合数据库访问的期望。

2020-06-20