Hebert_Coelho 6 de mai. de 2014
Aqui mostra como fazer join: http://uaihebert.com/?p=1137
aszarael 7 de mai. de 2014
Desculpe incomodar,
Mais estava lendo mais não consegui entender como funciona.
Alterei a minha classe de Model das duas tabela para relacionar as tabelas que fazem join.
package com . br . model ;
import javax.persistence.Column ;
import javax.persistence.Entity ;
import javax.persistence.GeneratedValue ;
import javax.persistence.GenerationType ;
import javax.persistence.Id ;
import javax.persistence.JoinColumn ;
import javax.persistence.Table ;
@Entity
@Table ( name = "Tmp_Ntc" )
public class Tmp_Ntc {
@Id
@GeneratedValue ( strategy = GenerationType . AUTO )
int COD_NTC ;
@Column
String NUM_LOGIN ;
@Column
String NUM_NTC ;
@JoinColumn ( name = "NUM_NTC" )
public int getCOD_NTC () {
return COD_NTC ;
}
public void setCOD_NTC ( int cOD_NTC ) {
COD_NTC = cOD_NTC ;
}
public String getNUM_NTC () {
return NUM_NTC ;
}
public void setNUM_NTC ( String nUM_NTC ) {
NUM_NTC = nUM_NTC ;
}
public String getLOGIN () {
return NUM_LOGIN ;
}
public void setLOGIN ( String lOGIN ) {
NUM_LOGIN = lOGIN ;
}
}
package com.br.model ;
import java.util.Date ;
import javax.persistence.Column ;
import javax.persistence.Entity ;
import javax.persistence.GeneratedValue ;
import javax.persistence.GenerationType ;
import javax.persistence.Id ;
import javax.persistence.JoinColumn ;
import javax.persistence.Table ;
@Entity @Table ( name = "Hist_Consolidado_2014" )
public class Hist_Consolidado_2014 {
@Id
@GeneratedValue ( strategy = GenerationType . AUTO )
int NUM_ID ;
@Column
Date DAT_CARGA ;
@Column
Date DAT_ATIV ;
@Column
String NUM_NTC ;
@Column
String DSC_TIPO_OPER ;
@Column
String DSC_PLANO ;
@Column
String COD_MOBILE ;
@Column
String DSC_MES_REF ;
@Column
String SIT_PGTO ;
@Column
float VLR_PGTO ;
@Column
String COD_IRREG ;
@Column
String DSC_EXTRATOR ;
@Column
String DSC_CANAL ;
@Column
String dSC_STATUS ;
@Column
float VLR_AJUSTE ;
@Column
String NUM_SIMCARD ;
@Column
String SIT_DEB_CRE ;
@Column
String DSC_PENDENCIA ;
@Column
String DSC_REGIONAL ;
@Column
String DSC_QUINZENA ;
@Column
String DSC_STATUS_DOC ;
@Column
String DSC_PRODUTO ;
@Column
Date DAT_ESTORNO ;
@Column
float VLR_FRANQUIA ;
@Column
String COD_REGIONAL ;
@Column
String SIT_EXCECAO ;
@Column
String DSC_EXCECAO ;
@Column
String COD_MOBILE_EXTRATO ;
@Column
String DSC_REGIONAL_FI ;
@Column
float VLR_COMISSAO_VPC ;
@Column
String DSC_EVENTO_ATV ;
@Column
String COD_VENDEDOR ;
@Column
float VLR_RECARGA ;
@Column
String DSC_MOTIVO ;
@Column
String DSC_REDE ;
@Column
Date DAT_VENC_FATURA ;
@Column
String DSC_TP_APURACAO ;
@Column
String COD_SAP_APAR ;
@Column
float VLR_COMPRA ;
@Column
String DSC_DADOS ;
@Column
float VLR_ICMS_COMPRA ;
@Column
float VLR_ICMS_VENDA ;
@Column
String NUM_IMEI ;
@Column
float VLR_MARGEM ;
@Column
String DSC_MODELO ;
@Column
String DSC_OFERTA ;
@Column
float VLR_VENDA ;
@Column
float VLR_JUROS ;
@Column
String NUM_LOTE_PGTO ;
@Column
float VLR_CLARO_CLUBE ;
@Column
String DSC_TRUECOMP ;
@Column
String DSC_EXCECAO_TC ;
@Column
String ORDER_ID ;
@Column
String ACCOUNT_ID ;
@Column
String DSC_REGULARIZACAO ;
@JoinColumn ( name = "NUM_NTC" )
public int getNUM_ID () {
return NUM_ID ;
}
public void setNUM_ID ( int nUM_ID ) {
NUM_ID = nUM_ID ;
}
public Date getDAT_CARGA () {
return DAT_CARGA ;
}
public void setDAT_CARGA ( Date dAT_CARGA ) {
DAT_CARGA = dAT_CARGA ;
}
public Date getDAT_ATIV () {
return DAT_ATIV ;
}
public void setDAT_ATIV ( Date dAT_ATIV ) {
DAT_ATIV = dAT_ATIV ;
}
public String getNUM_NTC () {
if ( NUM_NTC == null ){
return "" ;
} else {
return NUM_NTC ;
}
}
public void setNUM_NTC ( String nUM_NTC ) {
NUM_NTC = nUM_NTC ;
}
public String getDSC_TIPO_OPER () {
if ( DSC_TIPO_OPER == null ){
return "" ;
} else {
return DSC_TIPO_OPER ;
}
}
public void setDSC_TIPO_OPER ( String dSC_TIPO_OPER ) {
DSC_TIPO_OPER = dSC_TIPO_OPER ;
}
public String getDSC_PLANO () {
if ( DSC_PLANO == null ){
return "" ;
} else {
return DSC_PLANO ;
}
}
public void setDSC_PLANO ( String dSC_PLANO ) {
DSC_PLANO = dSC_PLANO ;
}
public String getCOD_MOBILE () {
if ( COD_MOBILE == null ){
return "" ;
} else {
return COD_MOBILE ;
}
}
public void setCOD_MOBILE ( String cOD_MOBILE ) {
COD_MOBILE = cOD_MOBILE ;
}
public String getDSC_MES_REF () {
if ( DSC_MES_REF == null ){
return "" ;
} else {
return DSC_MES_REF ;
}
}
public void setDSC_MES_REF ( String dSC_MES_REF ) {
DSC_MES_REF = dSC_MES_REF ;
}
public String getSIT_PGTO () {
if ( SIT_PGTO == null ){
return "" ;
} else {
return SIT_PGTO ;
}
}
public void setSIT_PGTO ( String sIT_PGTO ) {
SIT_PGTO = sIT_PGTO ;
}
public float getVLR_PGTO () {
return VLR_PGTO ;
}
public void setVLR_PGTO ( float vLR_PGTO ) {
VLR_PGTO = vLR_PGTO ;
}
public String getCOD_IRREG () {
if ( COD_IRREG == null ){
return "" ;
} else {
return COD_IRREG ;
}
}
public void setCOD_IRREG ( String cOD_IRREG ) {
COD_IRREG = cOD_IRREG ;
}
public String getDSC_EXTRATOR () {
if ( DSC_EXTRATOR == null ){
return "" ;
} else {
return DSC_EXTRATOR ;
}
}
public void setDSC_EXTRATOR ( String dSC_EXTRATOR ) {
DSC_EXTRATOR = dSC_EXTRATOR ;
}
public String getDSC_CANAL () {
if ( DSC_CANAL == null ){
return "" ;
} else {
return DSC_CANAL ;
}
}
public void setDSC_CANAL ( String dSC_CANAL ) {
DSC_CANAL = dSC_CANAL ;
}
public String getdSC_STATUS () {
if ( dSC_STATUS == null ){
return "" ;
} else {
return dSC_STATUS ;
}
}
public void setdSC_STATUS ( String dSC_STATUS ) {
this . dSC_STATUS = dSC_STATUS ;
}
public float getVLR_AJUSTE () {
return VLR_AJUSTE ;
}
public void setVLR_AJUSTE ( float vLR_AJUSTE ) {
VLR_AJUSTE = vLR_AJUSTE ;
}
public String getNUM_SIMCARD () {
if ( NUM_SIMCARD == null ){
return "" ;
} else {
return NUM_SIMCARD ;
}
}
public void setNUM_SIMCARD ( String nUM_SIMCARD ) {
NUM_SIMCARD = nUM_SIMCARD ;
}
public String getSIT_DEB_CRE () {
if ( SIT_DEB_CRE == null ){
return "" ;
} else {
return SIT_DEB_CRE ;
}
}
public void setSIT_DEB_CRE ( String sIT_DEB_CRE ) {
SIT_DEB_CRE = sIT_DEB_CRE ;
}
public String getDSC_PENDENCIA () {
if ( DSC_PENDENCIA == null ){
return "" ;
} else {
return DSC_PENDENCIA ;
}
}
public void setDSC_PENDENCIA ( String dSC_PENDENCIA ) {
DSC_PENDENCIA = dSC_PENDENCIA ;
}
public String getDSC_REGIONAL () {
if ( DSC_REGIONAL == null ){
return "" ;
} else {
return DSC_REGIONAL ;
}
}
public void setDSC_REGIONAL ( String dSC_REGIONAL ) {
DSC_REGIONAL = dSC_REGIONAL ;
}
public String getDSC_QUINZENA () {
if ( DSC_QUINZENA == null ){
return "" ;
} else {
return DSC_QUINZENA ;
}
}
public void setDSC_QUINZENA ( String dSC_QUINZENA ) {
DSC_QUINZENA = dSC_QUINZENA ;
}
public String getDSC_STATUS_DOC () {
if ( DSC_STATUS_DOC == null ){
return "" ;
} else {
return DSC_STATUS_DOC ;
}
}
public void setDSC_STATUS_DOC ( String dSC_STATUS_DOC ) {
DSC_STATUS_DOC = dSC_STATUS_DOC ;
}
public String getDSC_PRODUTO () {
if ( DSC_PRODUTO == null ){
return "" ;
} else {
return DSC_PRODUTO ;
}
}
public void setDSC_PRODUTO ( String dSC_PRODUTO ) {
DSC_PRODUTO = dSC_PRODUTO ;
}
public Date getDAT_ESTORNO () {
return DAT_ESTORNO ;
}
public void setDAT_ESTORNO ( Date dAT_ESTORNO ) {
DAT_ESTORNO = dAT_ESTORNO ;
}
public float getVLR_FRANQUIA () {
return VLR_FRANQUIA ;
}
public void setVLR_FRANQUIA ( float vLR_FRANQUIA ) {
VLR_FRANQUIA = vLR_FRANQUIA ;
}
public String getCOD_REGIONAL () {
if ( COD_REGIONAL == null ){
return "" ;
} else {
return COD_REGIONAL ;
}
}
public void setCOD_REGIONAL ( String cOD_REGIONAL ) {
COD_REGIONAL = cOD_REGIONAL ;
}
public String getSIT_EXCECAO () {
if ( SIT_EXCECAO == null ){
return "" ;
} else {
return SIT_EXCECAO ;
}
}
public void setSIT_EXCECAO ( String sIT_EXCECAO ) {
SIT_EXCECAO = sIT_EXCECAO ;
}
public String getDSC_EXCECAO () {
if ( DSC_EXCECAO == null ){
return "" ;
} else {
return DSC_EXCECAO ;
}
}
public void setDSC_EXCECAO ( String dSC_EXCECAO ) {
DSC_EXCECAO = dSC_EXCECAO ;
}
public String getCOD_MOBILE_EXTRATO () {
if ( COD_MOBILE_EXTRATO == null ){
return "" ;
} else {
return COD_MOBILE_EXTRATO ;
}
}
public void setCOD_MOBILE_EXTRATO ( String cOD_MOBILE_EXTRATO ) {
COD_MOBILE_EXTRATO = cOD_MOBILE_EXTRATO ;
}
public String getDSC_REGIONAL_FI () {
if ( DSC_REGIONAL_FI == null ){
return "" ;
} else {
return DSC_REGIONAL_FI ;
}
}
public void setDSC_REGIONAL_FI ( String dSC_REGIONAL_FI ) {
DSC_REGIONAL_FI = dSC_REGIONAL_FI ;
}
public float getVLR_COMISSAO_VPC () {
return VLR_COMISSAO_VPC ;
}
public void setVLR_COMISSAO_VPC ( float vLR_COMISSAO_VPC ) {
VLR_COMISSAO_VPC = vLR_COMISSAO_VPC ;
}
public String getDSC_EVENTO_ATV () {
if ( DSC_EVENTO_ATV == null ){
return "" ;
} else {
return DSC_EVENTO_ATV ;
}
}
public void setDSC_EVENTO_ATV ( String dSC_EVENTO_ATV ) {
DSC_EVENTO_ATV = dSC_EVENTO_ATV ;
}
public String getCOD_VENDEDOR () {
if ( COD_VENDEDOR == null ){
return "" ;
} else {
return COD_VENDEDOR ;
}
}
public void setCOD_VENDEDOR ( String cOD_VENDEDOR ) {
COD_VENDEDOR = cOD_VENDEDOR ;
}
public float getVLR_RECARGA () {
return VLR_RECARGA ;
}
public void setVLR_RECARGA ( float vLR_RECARGA ) {
VLR_RECARGA = vLR_RECARGA ;
}
public String getDSC_MOTIVO () {
if ( DSC_MOTIVO == null ){
return "" ;
} else {
return DSC_MOTIVO ;
}
}
public void setDSC_MOTIVO ( String dSC_MOTIVO ) {
DSC_MOTIVO = dSC_MOTIVO ;
}
public String getDSC_REDE () {
if ( DSC_REDE == null ){
return "" ;
} else {
return DSC_REDE ;
}
}
public void setDSC_REDE ( String dSC_REDE ) {
DSC_REDE = dSC_REDE ;
}
public Date getDAT_VENC_FATURA () {
return DAT_VENC_FATURA ;
}
public void setDAT_VENC_FATURA ( Date dAT_VENC_FATURA ) {
DAT_VENC_FATURA = dAT_VENC_FATURA ;
}
public String getDSC_TP_APURACAO () {
if ( DSC_TP_APURACAO == null ){
return "" ;
} else {
return DSC_TP_APURACAO ;
}
}
public void setDSC_TP_APURACAO ( String dSC_TP_APURACAO ) {
DSC_TP_APURACAO = dSC_TP_APURACAO ;
}
public String getCOD_SAP_APAR () {
if ( COD_SAP_APAR == null ){
return "" ;
} else {
return COD_SAP_APAR ;
}
}
public void setCOD_SAP_APAR ( String cOD_SAP_APAR ) {
COD_SAP_APAR = cOD_SAP_APAR ;
}
public float getVLR_COMPRA () {
return VLR_COMPRA ;
}
public void setVLR_COMPRA ( float vLR_COMPRA ) {
VLR_COMPRA = vLR_COMPRA ;
}
public String getDSC_DADOS () {
if ( DSC_DADOS == null ){
return "" ;
} else {
return DSC_DADOS ;
}
}
public void setDSC_DADOS ( String dSC_DADOS ) {
DSC_DADOS = dSC_DADOS ;
}
public float getVLR_ICMS_COMPRA () {
return VLR_ICMS_COMPRA ;
}
public void setVLR_ICMS_COMPRA ( float vLR_ICMS_COMPRA ) {
VLR_ICMS_COMPRA = vLR_ICMS_COMPRA ;
}
public float getVLR_ICMS_VENDA () {
return VLR_ICMS_VENDA ;
}
public void setVLR_ICMS_VENDA ( float vLR_ICMS_VENDA ) {
VLR_ICMS_VENDA = vLR_ICMS_VENDA ;
}
public String getNUM_IMEI () {
if ( NUM_IMEI == null ){
return "" ;
} else {
return NUM_IMEI ;
}
}
public void setNUM_IMEI ( String nUM_IMEI ) {
NUM_IMEI = nUM_IMEI ;
}
public float getVLR_MARGEM () {
return VLR_MARGEM ;
}
public void setVLR_MARGEM ( float vLR_MARGEM ) {
VLR_MARGEM = vLR_MARGEM ;
}
public String getDSC_MODELO () {
if ( DSC_MODELO == null ){
return "" ;
} else {
return DSC_MODELO ;
}
}
public void setDSC_MODELO ( String dSC_MODELO ) {
DSC_MODELO = dSC_MODELO ;
}
public String getDSC_OFERTA () {
if ( DSC_OFERTA == null ){
return "" ;
} else {
return DSC_OFERTA ;
}
}
public void setDSC_OFERTA ( String dSC_OFERTA ) {
DSC_OFERTA = dSC_OFERTA ;
}
public float getVLR_VENDA () {
return VLR_VENDA ;
}
public void setVLR_VENDA ( float vLR_VENDA ) {
VLR_VENDA = vLR_VENDA ;
}
public float getVLR_JUROS () {
return VLR_JUROS ;
}
public void setVLR_JUROS ( float vLR_JUROS ) {
VLR_JUROS = vLR_JUROS ;
}
public String getNUM_LOTE_PGTO () {
if ( NUM_LOTE_PGTO == null ){
return "" ;
} else {
return NUM_LOTE_PGTO ;
}
}
public void setNUM_LOTE_PGTO ( String nUM_LOTE_PGTO ) {
NUM_LOTE_PGTO = nUM_LOTE_PGTO ;
}
public float getVLR_CLARO_CLUBE () {
return VLR_CLARO_CLUBE ;
}
public void setVLR_CLARO_CLUBE ( float vLR_CLARO_CLUBE ) {
VLR_CLARO_CLUBE = vLR_CLARO_CLUBE ;
}
public String getDSC_TRUECOMP () {
if ( DSC_TRUECOMP == null ){
return "" ;
} else {
return DSC_TRUECOMP ;
}
}
public void setDSC_TRUECOMP ( String dSC_TRUECOMP ) {
DSC_TRUECOMP = dSC_TRUECOMP ;
}
public String getDSC_EXCECAO_TC () {
if ( DSC_EXCECAO_TC == null ){
return "" ;
} else {
return DSC_EXCECAO_TC ;
}
}
public void setDSC_EXCECAO_TC ( String dSC_EXCECAO_TC ) {
DSC_EXCECAO_TC = dSC_EXCECAO_TC ;
}
public String getORDER_ID () {
if ( ORDER_ID == null ){
return "" ;
} else {
return ORDER_ID ;
}
}
public void setORDER_ID ( String oRDER_ID ) {
ORDER_ID = oRDER_ID ;
}
public String getACCOUNT_ID () {
if ( ACCOUNT_ID == null ){
return "" ;
} else {
return ACCOUNT_ID ;
}
}
public void setACCOUNT_ID ( String aCCOUNT_ID ) {
ACCOUNT_ID = aCCOUNT_ID ;
}
public String getDSC_REGULARIZACAO () {
if ( DSC_REGULARIZACAO == null ){
return "" ;
} else {
return DSC_REGULARIZACAO ;
}
}
public void setDSC_REGULARIZACAO ( String dSC_REGULARIZACAO ) {
DSC_REGULARIZACAO = dSC_REGULARIZACAO ;
}
}
E na Classe de DAO
/* Metodo de consulta no banco de dados */
private List < Hist_Consolidado_2014 > consultar ( String pLogin , String pCondicao ){
String vLogin = null ;
EntityManager entityManager = getEntityManager ();
String vSQL = " a from Hist_Consolidado_2014 a" ;
vSQL + = " join Tmp_Ntc b " ;
//vSQL += " a.num_ntc = b.num_ntc";
int vPos = pLogin . indexOf ( "-" );
if ( vPos != - 1 ){
vLogin = pLogin . substring ( 0 , vPos - 2 );
vSQL + = " WHERE b.NUM_LOGIN = '" + vLogin + "'" ;
}
if ( pCondicao != null ){
vSQL + = " AND " + pCondicao ;
}
vSQL + = " ORDER BY a.NUM_ID" ;
System . out . println ( "Consulta executada : " + vSQL );
Query vQuery = entityManager . createQuery ( vSQL );
@ SuppressWarnings ( "unchecked" )
List < Hist_Consolidado_2014 > listaHist = vQuery . getResultList ();
return listaHist ;
}
Porem apresenta o seguinte erro
Grave : Servlet . service () for servlet [ jsp ] in context with path [ /operacoes_comis ] threw exception [ java.lang.IllegalArgumentException: node to traverse cannot be null! ] with root cause
java . lang . IllegalArgumentException : node to traverse cannot be null !
at org . hibernate . hql . ast . util . NodeTraverser . traverseDepthFirst ( NodeTraverser . java : 31 )
at org . hibernate . hql . ast . QueryTranslatorImpl . parse ( QueryTranslatorImpl . java : 254 )
at org . hibernate . hql . ast . QueryTranslatorImpl . doCompile ( QueryTranslatorImpl . java : 157 )
at org . hibernate . hql . ast . QueryTranslatorImpl . compile ( QueryTranslatorImpl . java : 111 )
at org . hibernate . engine . query . HQLQueryPlan .( HQLQueryPlan . java : 77 )
at org . hibernate . engine . query . HQLQueryPlan .( HQLQueryPlan . java : 56 )
at org . hibernate . engine . query . QueryPlanCache . getHQLQueryPlan ( QueryPlanCache . java : 72 )
at org . hibernate . impl . AbstractSessionImpl . getHQLQueryPlan ( AbstractSessionImpl . java : 133 )
at org . hibernate . impl . AbstractSessionImpl . createQuery ( AbstractSessionImpl . java : 112 )
at org . hibernate . impl . SessionImpl . createQuery ( SessionImpl . java : 1623 )
at org . hibernate . ejb . AbstractEntityManagerImpl . createQuery ( AbstractEntityManagerImpl . java : 93 )
at com . br . dao . Hist_Consolidado_2014Dao . consultar ( Hist_Consolidado_2014Dao . java : 136 )
at com . br . dao . Hist_Consolidado_2014Dao . select ( Hist_Consolidado_2014Dao . java : 160 )
at org . apache . jsp . con02_jsp . _jspService ( con02_jsp . java : 144 )
at org . apache . jasper . runtime . HttpJspBase . service ( HttpJspBase . java : 70 )
at javax . servlet . http . HttpServlet . service ( HttpServlet . java : 722 )
at org . apache . jasper . servlet . JspServletWrapper . service ( JspServletWrapper . java : 432 )
at org . apache . jasper . servlet . JspServlet . serviceJspFile ( JspServlet . java : 390 )
at org . apache . jasper . servlet . JspServlet . service ( JspServlet . java : 334 )
at javax . servlet . http . HttpServlet . service ( HttpServlet . java : 722 )
at org . apache . catalina . core . ApplicationFilterChain . internalDoFilter ( ApplicationFilterChain . java : 305 )
at org . apache . catalina . core . ApplicationFilterChain . doFilter ( ApplicationFilterChain . java : 210 )
at org . apache . catalina . core . StandardWrapperValve . invoke ( StandardWrapperValve . java : 222 )
at org . apache . catalina . core . StandardContextValve . invoke ( StandardContextValve . java : 123 )
at org . apache . catalina . authenticator . AuthenticatorBase . invoke ( AuthenticatorBase . java : 472 )
at org . apache . catalina . core . StandardHostValve . invoke ( StandardHostValve . java : 168 )
at org . apache . catalina . valves . ErrorReportValve . invoke ( ErrorReportValve . java : 99 )
at org . apache . catalina . valves . AccessLogValve . invoke ( AccessLogValve . java : 929 )
at org . apache . catalina . core . StandardEngineValve . invoke ( StandardEngineValve . java : 118 )
at org . apache . catalina . connector . CoyoteAdapter . service ( CoyoteAdapter . java : 407 )
at org . apache . coyote . http11 . AbstractHttp11Processor . process ( AbstractHttp11Processor . java : 1002 )
at org . apache . coyote . AbstractProtocol $ AbstractConnectionHandler . process ( AbstractProtocol . java : 585 )
at org . apache . tomcat . util . net . JIoEndpoint $ SocketProcessor . run ( JIoEndpoint . java : 310 )
at java . util . concurrent . ThreadPoolExecutor . runWorker ( Unknown Source )
at java . util . concurrent . ThreadPoolExecutor $ Worker . run ( Unknown Source )
at java . lang . Thread . run ( Unknown Source )
O exemplo do site que me passou não consegui entender como fazer , poderia me ajudar a entender ?
grato