[RESOLVIDO]Buscar apenas campo especifico com Criteria
4 respostas
J
JhowTroMundo
Olá a todos.
Não entendo muito the Hibernate nem de Criteria.
Tenho uma classe que faz um filtro baseado nas informações passadas pelo usuário, que retorna uma lista completa de um determinado Objeto. Eu gostaria de retornar apenas uma lista de IDs dos objetos filtrados.
importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.ResultSetMetaData;importjava.sql.Statement;importorg.hibernate.HibernateException;importorg.hibernate.Session;importorg.hibernate.SessionFactory;importorg.hibernate.cfg.Configuration;publicclassHibernateUtil{Sessionsession;Statementst;publicHibernateUtil()throwsException{SessionFactorysessionFactory=newConfiguration().configure().buildSessionFactory();session=sessionFactory.openSession();// Load the JDBC driver.Class.forName("org.hsqldb.jdbcDriver");System.out.println("Driver Loaded.");// Establish the connection to the database.Stringurl="jdbc:hsqldb:data/tutorial";Connectionconn=DriverManager.getConnection(url,"sa","");System.out.println("Got Connection.");st=conn.createStatement();}publicSessiongetSession(){returnsession;}publicvoidexecuteSQLCommand(Stringsql)throwsException{st.executeUpdate(sql);}publicvoidcheckData(Stringsql)throwsException{ResultSetrs=st.executeQuery(sql);ResultSetMetaDatametadata=rs.getMetaData();for(inti=0;i<metadata.getColumnCount();i++){System.out.print("\t"+metadata.getColumnLabel(i+1));}System.out.println("\n----------------------------------");while(rs.next()){for(inti=0;i<metadata.getColumnCount();i++){Objectvalue=rs.getObject(i+1);if(value==null){System.out.print("\t ");}else{System.out.print("\t"+value.toString().trim());}}System.out.println("");}}}
<?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><!-- Database connection settings --><propertyname="connection.driver_class">org.hsqldb.jdbcDriver</property><propertyname="connection.url">jdbc:hsqldb:data/tutorial</property><propertyname="connection.username">sa</property><propertyname="connection.password"></property><!-- JDBC connection pool (use the built-in) --><propertyname="connection.pool_size">1</property><!-- SQL dialect --><propertyname="dialect">org.hibernate.dialect.HSQLDialect</property><!-- Enable Hibernate's current session context --><propertyname="current_session_context_class">org.hibernate.context.ManagedSessionContext</property><propertyname="hibernate.cache.use_second_level_cache">false</property><propertyname="hibernate.cache.use_query_cache">false</property><!-- Disable the second-level cache --><propertyname="cache.provider_class">org.hibernate.cache.NoCacheProvider</property><!-- Echo all executed SQL to stdout --><propertyname="show_sql">true</property><!-- Mapping files --><mappingresource="Survey.hbm.xml"/></session-factory></hibernate-configuration>