Sql

7 respostas
B

Pessoal queria separar essa SQL da classe DAO me digam quais são as alternativas de se fazer isso.

StringBuffer sql = new StringBuffer(SELECT);

sql.append(" o.SEQ_SA,")

.append(" o.SEQ_OCORR,")

.append(" t.DES_OCORR,")

.append(" s.NUM_CONTR,")

.append(" s.NOM_RECLA,")

.append(" s.TIP_ATEND,")

.append(" s.COD_LOCAL_ASS,")

.append(" s.NUM_FONE_ASS,")

.append(" o.DAT_CRIACAO,")

.append(" o.DAT_ENCER,")

.append(" e.COD_USUAR_R,")

.append(" e.COD_USUAR_E,")

.append(" r.SIGLA,")

.append(" e.COD_DEPTO,")

.append(" e.COD_MOT_OCORR,")

.append(" s.COD_CLI,")

.append(" t.COD_CATEG,")

.append(" o.COD_OCORR,")

.append(" i.DES_SOLUC,")

.append(" m.DES_MOT_OCORR,")

.append(" cat.DES_CATEG,")

.append(" re.VAL_REST,")

.append(" re.TIP_REST,")

.append(" l.DES_LOCAL")

.append(" FROM")

.append(" ocorr_sa o,")

.append(" tip_ocorr t,")

.append(" sa s,")

.append(" cliente c,")

.append(" evento_sac e,")

.append(" escritorio r,")

.append(" tip_soluc i,")

.append(" mot_ocorr m,")

.append(" cat_ocorr cat,")

.append(" local l,")

.append(" rest_ocorr re")

.append(" WHERE")

.append(" s.NUM_CONTR = ?")

.append(" and o.SEQ_SA = s.SEQ_SA")

.append(" and o.COD_OCORR = t.COD_OCORR")

.append(" and s.COD_CLI *= c.COD_CLI")

.append(" and o.SEQ_SA = e.SEQ_SA")

.append(" and o.SEQ_OCORR = e.SEQ_OCORR")

.append(" and e.SEQ_EVENTO_DEST is null")

.append(" and e.COD_REG *= r.COD_REG")

.append(" and o.COD_SOLUC *= i.COD_SOLUC")

.append(" and e.COD_MOT_OCORR *= m.COD_MOT_OCORR")

.append(" and cat.COD_CATEG = t.COD_CATEG")

.append(" and o.SEQ_SA = re.SEQ_SA")

.append(" and o.SEQ_OCORR = re.SEQ_OCORR");

7 Respostas

renanreismartins

se a sql estiver em um DAO já é um bom começo, mas pense em usar um orm tipo hibernate

abrasss

B

Esta no DAO sim, as alternativas que eu tenho é separar em um arquivo xml, ou delegar essa responsabilidade para outra classe.

Existe outra alternativa?

renanreismartins

vc nao pode usar nenhum framework de orm como o hibernate ?

B

Infelizmente não, é código legado e java 1.4

L

Eu faria uma VIEW ou colocaria esse SQL em um arquivo de texto e carregaria o conteúdo desse arquivo quando fosse necessário.

renanreismartins

hm, bem… se a sql já está no DAO, e não pode usar orm então creio que não a mais nada a fazer.

/*edit
a nao ser alguma restrição da empresa, nao vejo porque nao atualizar para nova versao do java. O hibernate funcionava com a versao 1.4 do java, porem com mapeamento em xml ao inves de annotations.
*/

abrassss

B

Eu imaginava, Obrigado pessoal

Criado 5 de novembro de 2010
Ultima resposta 5 de nov. de 2010
Respostas 7
Participantes 3