How to fix a bug with my first Hibernate project?

I tried to create my first Hibernate project. I added the following libraries to my project:

ANTLR-2.7.7 Wikimedia Commons collection-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; } } 

I have Denwer installed. Parameters for use: login - root, password is empty. The server is localhost and has a test database with a person table (CHAR (50) name, INT (10) number - primary key)

Main.class:

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

This does not work. I have some errors:

 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 

How can i fix this? Thanks.

+4
source share
4 answers

None of them look like errors to me - they are just log lines. The only โ€œproblemโ€ is the warning:

WARN: HHH000223: The deprecated hibernate namespace http://hibernate.sourceforge.net/ is recognized. Use the http://www.hibernate.org/dtd/ namespace instead. Refer to the Hibernate 3.6 Migration Guide!

This is just a warning - itโ€™s worth fixing, but it seems that itโ€™s not terribly urgent.

Everything else is only at the INFO level ... so don't worry about them. Just keep moving and see if your code does what you expect in terms of database access.

+12
source

I had the same problem too. After some googling, I solve the problem.

All you have to do is change the namespace http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd "to" http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd "as stated in the Hibernate 3.6 Migration Guide .

+25
source

Easy In the hibernate configuration of the xml file you have to change the line

 http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd 

to

 http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd 
+5
source

Person.class should implement serializable, but it seems that the main problem you are facing is the Hibernate 3.6 migration guide!

See you.

0
source

Source: https://habr.com/ru/post/1399538/


All Articles