Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/06/2015, 11:30
Avatar de Apolo_13
Apolo_13
 
Fecha de Ingreso: mayo-2015
Mensajes: 40
Antigüedad: 9 años, 7 meses
Puntos: 4
Problema con Hibernate + Mysql

Hola gente. Tengo un error al ejecutar una consulta "HQL".

Primero de todo os presento mi escenario.


Mi estructura de archivos es la siguiente:


Contenido de mi "HibernateUtil.java":
Código Java:
Ver original
  1. import org.hibernate.cfg.AnnotationConfiguration;
  2. import org.hibernate.SessionFactory;
  3.  
  4. /**
  5.  * Hibernate Utility class with a convenient method to get Session Factory
  6.  * object.
  7.  *
  8.  * @author John Doe
  9.  */
  10. public class HibernateUtil {
  11.  
  12.     private static final SessionFactory sessionFactory;
  13.    
  14.     static {
  15.         try {
  16.             // Create the SessionFactory from standard (hibernate.cfg.xml)
  17.             // config file.
  18.             sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
  19.         } catch (Throwable ex) {
  20.             // Log the exception.
  21.             System.err.println("Initial SessionFactory creation failed." + ex);
  22.             throw new ExceptionInInitializerError(ex);
  23.         }
  24.     }
  25.    
  26.     public static SessionFactory getSessionFactory() {
  27.         return sessionFactory;
  28.     }
  29. }

Contenido de mi Hibernate.reveng.xml:
Código XML:
Ver original
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE hibernate-reverse-engineering PUBLIC "-//Hibernate/Hibernate Reverse Engineering DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd">
  3. <hibernate-reverse-engineering>
  4.   <schema-selection match-catalog="elecciones"/>
  5.   <table-filter match-name="partidos"/>
  6.   <table-filter match-name="personas"/>
  7. </hibernate-reverse-engineering>

Contenido de mi hibernate.cfg.xml:
Código XML:
Ver original
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
  3. <hibernate-configuration>
  4.   <session-factory>
  5.     <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
  6.     <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
  7.     <property name="hibernate.connection.url">jdbc:mysql://localhost/elecciones</property>
  8.     <property name="hibernate.connection.username">root</property>
  9.     <mapping resource="hr/Personas.hbm.xml"/>
  10.     <mapping resource="hr/Partidos.hbm.xml"/>
  11.   </session-factory>
  12. </hibernate-configuration>

Contenido de Partidos.java:
Código Java:
Ver original
  1. package hr;
  2. // Generated 01-jun-2015 18:58:02 by Hibernate Tools 4.3.1
  3.  
  4.  
  5.  
  6. /**
  7.  * Partidos generated by hbm2java
  8.  */
  9. public class Partidos  implements java.io.Serializable {
  10.  
  11.  
  12.      private String partido;
  13.      private Integer presupuesto;
  14.      private String ideologia;
  15.  
  16.     public Partidos() {
  17.     }
  18.  
  19.    
  20.     public Partidos(String partido) {
  21.         this.partido = partido;
  22.     }
  23.     public Partidos(String partido, Integer presupuesto, String ideologia) {
  24.        this.partido = partido;
  25.        this.presupuesto = presupuesto;
  26.        this.ideologia = ideologia;
  27.     }
  28.    
  29.     public String getPartido() {
  30.         return this.partido;
  31.     }
  32.    
  33.     public void setPartido(String partido) {
  34.         this.partido = partido;
  35.     }
  36.     public Integer getPresupuesto() {
  37.         return this.presupuesto;
  38.     }
  39.    
  40.     public void setPresupuesto(Integer presupuesto) {
  41.         this.presupuesto = presupuesto;
  42.     }
  43.     public String getIdeologia() {
  44.         return this.ideologia;
  45.     }
  46.    
  47.     public void setIdeologia(String ideologia) {
  48.         this.ideologia = ideologia;
  49.     }
  50.  
  51.  
  52. }

Contenido de Partidos.hbm.xml:
Código XML:
Ver original
  1. <?xml version="1.0"?>
  2. <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
  3. "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
  4. <!-- Generated 01-jun-2015 18:58:02 by Hibernate Tools 4.3.1 -->
  5. <hibernate-mapping>
  6.     <class name="hr.Partidos" table="partidos" catalog="elecciones" optimistic-lock="version">
  7.         <id name="partido" type="string">
  8.             <column name="PARTIDO" length="30" />
  9.             <generator class="assigned" />
  10.         </id>
  11.         <property name="presupuesto" type="java.lang.Integer">
  12.             <column name="PRESUPUESTO" />
  13.         </property>
  14.         <property name="ideologia" type="string">
  15.             <column name="IDEOLOGIA" length="30" />
  16.         </property>
  17.     </class>
  18. </hibernate-mapping>

¿Cuando surge el problema?
Cuando intento ejecutar esta básica consulta HQL.
Código:
from Partidos
Cuando la ejecuto me sale el siguiente error.


Código:
org.hibernate.hql.internal.ast.QuerySyntaxException: Partidos is not mapped [from Partidos]
	at org.hibernate.hql.internal.ast.QuerySyntaxException.generateQueryException(QuerySyntaxException.java:96)
	at org.hibernate.QueryException.wrapWithQueryString(QueryException.java:120)
	at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:234)
	at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:158)
	at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:126)
	at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:88)
	at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:190)
	at org.hibernate.internal.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:301)
	at org.hibernate.internal.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:236)
	at org.hibernate.internal.SessionImpl.createQuery(SessionImpl.java:1796)
Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: Partidos is not mapped
	at org.hibernate.hql.internal.ast.util.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:189)
	at org.hibernate.hql.internal.ast.tree.FromElementFactory.addFromElement(FromElementFactory.java:109)
	at org.hibernate.hql.internal.ast.tree.FromClause.addFromElement(FromClause.java:95)
	at org.hibernate.hql.internal.ast.HqlSqlWalker.createFromElement(HqlSqlWalker.java:331)
	at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:3633)
	at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.fromElementList(HqlSqlBaseWalker.java:3522)
	at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.fromClause(HqlSqlBaseWalker.java:706)
	at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:562)
	at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:299)
	at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:247)
	at org.hibernate.hql.internal.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:278)
	at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:206)
	... 9 more

He comprobado y recomprobado los scripts y que todo este correcto. Y me estoy volviendo loco. No tengo mucha experiencia con Hibernate, pero hasta donde llegan mis conocimientos lo que estoy haciendo es correcto. Me vendría bien una ayudita

Muchas gracias de antemano a todos ;)