JavierFerrandiz _ El Lenguaje JPQL

Preview:

DESCRIPTION

tip

Citation preview

  • 18/4/2015 JavierFerrandiz|EllenguajeJPQL

    http://javierferrandiz.com/?p=267 1/4

    Buscar

    BuscarEllenguajeJPQL

    Publicadoel17/07/2014porjavier

    EllenguajeJPQL

    EllenguajedeconsultaJPQLtrabajasobreclasesyobjetospararealizarconsultasenelmundoJava,mientrasqueSQLtrabajasobretablas,columnasyfilasenbasesdedatosrelacionales.CuandorealizamosconsultasenJPQLlaarquitecturaJPAseocupadeconvertirlaenunaconsultaSQL.

    ClusulasJPQL.SELECTespecificalaentidadovaloresarecuperar.FROMentidadautilizarenlaseleccinyrestodeclusulas.WHEREfiltrarresultados.ORDERBYordenarresultados.GROUPBYagrupacinderesultados.HAVINGfiltradodeagrupaciones.

    SentenciaUPDATEEstaoperacinlapodemosrealizarconentityManagerconelmtodomerge,peroloquenosaportaestasentenciasonactualizacionesenmasa.

    UPDATEPiezap

    SETp.peso=100,p.color=Rojo

    WHEREp.nompieLIKETuer%'

    SentenciaDELETEIgualqueocurrenconlasentenciaupdateestasentencianospermiteelborradoenmasa.

    DELETEProyectopj

    WHEREpj.ciudad=Londres

    ClusulaSELECT

    SELECTpieFROMPiezaASpie SELECTpie.codigoPieza,pie.nombrePiezaFROMPiezapie SELECTDISTINCTpie.colorFROMPiezapie

    PodemosusarunconstructorenlaclusulaSELECTparaobtenerinstanciasdeobjetosinicializadosconlosvaloresdevueltosporlaconsulta,estosobjetosnotienenqueserentidadesoestarmapeados.

    SELECTNEWcom.javierferrandiz.data.MiClase(pie.color,pie.peso)FROMPiezapieWHEREpie.peso>100

    Entradasrecientes

    ContenedorSpringQuesunStatefulSessionBean?QuesunStatelessSessionBean?IntroduccinSpringMVCGenericAccessDataconHibernate

    Archivos

    septiembre2014agosto2014julio2014

    Categoras

    HibernateHibernateTemplateJavaPersistenceQLJdbcTemplateMapeoORMJPASpringCoreSpringMVCStatefulSessionBeanStatelessSessionBean

    EnterpriseJavaBeans Hibernate Spring SobreM

    JavierFerrandiz

    Siempreadelantesinprecipitacinperosinpausa.

  • 18/4/2015 JavierFerrandiz|EllenguajeJPQL

    http://javierferrandiz.com/?p=267 2/4

    ClusulaWHERE

    SELECTpieFROMPiezapieWHEREpie.peso>100

    OperadoresRelacionales:=,>,>=,

  • 18/4/2015 JavierFerrandiz|EllenguajeJPQL

    http://javierferrandiz.com/?p=267 3/4

    JPQLpararecuperarentidades.

    SELECTv.proveedor.nombreProveedor,SUM(v.cantidad)FROMVentavGROUPBYv.proveedor.nombreProveedorHAVINGSUM(v.cantidad)>100

    Funcionesdecadenasdecaracteres.CONCAT(str1,str2),SUBSTR(str,position,length),TRIM(str),LOWER(str),UPPER(str),LENGTH(str)

    SELECTpieFROMPiezapieWHERELENGTH(pie.nombrePieza)>10 SELECTpieFROMPiezapieWHERECONCAT(pie.nombrePieza,pie.color)=TuercaRoja

    FuncionesaritmticasABS(expresion),SQRT(expresion),MOD(dividendo,divisor),SIZE(coleccion)

    SELECTpieFROMPiezapieWHERESIZE(pie.venta)>5

    Ordenandoresultados.

    SELECTpieFROMPiezapieWHEREORDERBYpie.nombrePiezaASC SELECTpieFROMPiezapieWHEREORDERBYpie.nombrePiezaASC,pie.pesoDESC

    SubconultasLassubconsultassonusadasenlasclusularWHEREyHAVING,paralassubconsultasusamos[NOT]IN,[NOT]EXISTS,ALL,ANYySOME,estastresltimassecombinanconlosoperadoresrelacionales=,=,

    SELECTpieFROMPiezapieWHEREpieIN(SELECTv.piezaFROMVentavWHEREv.cantidad>100)

    SELECTpjFROMProyectpjWHEREEXISTS(SELECTv.proyectoFROMVentavWHEREv.proyecto.codigoProyecto=pj.codigoProyecto)

    SELECTvFROMVentavWHEREv.cantidad>=(SELECTAVG(v1.cantidad)FROMVentav1)

    Asociacionesentreentidades.INNERJOIN

    SELECTpie.codigoPieza,v.cantidadFROMPiezapieINNERJOINpie.ventavWHEREv.cantidad>100

    OUTERJOIN,LEFTJOIN,RIGTHJOINPararecuperarlasentidadesadicionalesquenocumplenlacondicionyaseaporleladodeladerechaodelaizquierdadelarelacin.

    SELECTpie.codigoPieza,v.cantidadFROMPiezapieLEFTOUTERJOINpie.ventavWHEREv.cantidad>100

  • 18/4/2015 JavierFerrandiz|EllenguajeJPQL

    http://javierferrandiz.com/?p=267 4/4

    Dejauncomentario

    Nombre

    Correoelectrnico(noserpublicado)

    Web

    Enviarcomentario

    JavierFerrandiz,ProgramadorWeb.

    ProgramadoyDiseadoporFJavierPuertasFerrndiz