2011-05-12 20 views
6

soy nuevo para hibernar. Necesito entender las siguientes preguntas:Cómo usar Hibernate <subselect>:

(1) ¿Qué es subselección en el mapeo de hibernación?

(2) ¿Cómo asignar una subselección en el archivo hbm?

(3) Si recupero valores usando subselección, entonces cómo obtener los valores recuperados en la clase de acción java.

Respuesta

7
  1. Basado en la descripción dada en section 5.1.3, el elemento de subselect se utiliza para definir un sólo lectura/entidad inmutable que se basa en los resultados de una consulta nativa arbitraria.
  2. De la misma fuente, uno simplemente usa subselect dentro de un elemento class en lugar del atributo table y luego utiliza los nombres de columna definidos en la consulta como nombres de columna en la asignación de propiedades. (se toma el siguiente pie de la letra de la sección 5.1.3)

    <class name="Summary"> 
        <subselect> 
        select item.name, max(bid.amount), count(*) 
        from item 
        join bid on bid.item_id = item.id 
        group by item.name 
        </subselect> 
        <synchronize table="item"/> 
        <synchronize table="bid"/> 
        <id name="name"/> 
        ... 
    </class> 
    
  3. Después de crear un mapeo utilizando columnas de la consulta en el elemento subselect, usted debería ser capaz de acceder a las propiedades del mismo modo que lo haría para cualquier otra entidad

Cuestiones relacionadas