Es un poco básico pero la verdad es que es de gran ayuda, ya que si quieres regresar un date, string, long, etc. (datso primitivos) pues evitas mapear el resultado dentro de un objeto.

bueno, al grano!!! vamos a obtener el nombre del autor dependiendo del su ID

tautor.hbm.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
 
<hibernate-mapping>
<sql-query name="searchAutor">
	    <return-scalar  column="name" type="java.lang.String" />
    	<!-- La columna que se quiera regresar y su tipo de dato-->
    	 SELECT 
    	 	name  
    	 FROM 
    	 	tautor 
 
	  WHERE
		idautor = :id
    </sql-query>
</hibernate-mapping>

ya que tenemos el mapeo… vamos a la implementación

HTautorDao.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class HTautorDao extends AbstractDAO implements TautorDao
{
public String getNameAutor(Long id)
    {
        try
        {
 
            String[] paramNames =
                { "id" };
 
            Object[] values =
                { id };
          // nos regresa el tipo primitivo que queramos o con metodos que tiene DataAccessUtils
            return (String) DataAccessUtils.uniqueResult((getHibernateTemplate()
                    .findByNamedQueryAndNamedParam("searchAutor", paramNames, values)));
 
        }
        catch (Exception e)
        {
            log.fatal(e);
            return null;
        }
 
    }

así pueden tener las consultas utilizando hibernate… y regresar tipos primitivos como los antes mencionados..

NOTA: siempre y cuando sea sólo valor como resultado, por que de lo contrario estamos ablando de otra forma de hacerlo.

java doc: http://static.springsource.org/spring/docs/2.0.x/api/org/springframework/dao/support/DataAccessUtils.html#uniqueResult



Un comentario en “Hibernate: como regresar un sólo valor que sea un tipo primitivo?”

  1. Hibernate: como regresar un sólo valor que sea un tipo primitivo? - DbRunas | 22/08/2009 a las 07:02:08

    [...] http://www.serunix.com/2009/08/21/hibernate-como-regresar-un-solo-valor-que-sea-un-tipo-primitivo [...]

Dejar un comentario

http://www.wikio.es BlogESfera - Directorio de Blogs Hispanos blogarama - the blog directory Mi Ping en TotalPing.com
Internet blogs Programming Blogs - Blog Catalog Blog Directory Internet blogs Buzzear (ES) Publicidad por tu blog con Boosterblog directorio de blogs
Agregar Web - Directorio de webs Directorio webs Directorio Web
Anuncios Gratis Blog Directory Technology Blogs - Blog Rankings