我已经尝试过进行第一个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
我该如何解决?谢谢。
在我看来,这些都不是错误-它们只是日志行。唯一的“问题”是此处的警告:
警告:HHH000223:公认的过时的hibernate名称空间http://hibernate.sourceforge.net/。请改用名称空间http://www.hibernate.org/dtd/。请参阅《 Hibernate 3.6迁移指南》!
这只是一个警告-值得一修复,但它听起来像它不是 非常 迫切。
其他所有内容都处于INFO级别…因此不必担心它们。继续前进,看看您的代码是否符合数据库访问的期望。