javierferrandiz _ el lenguaje jpql
DESCRIPTION
tipTRANSCRIPT
-
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