Ir ao conteúdo
  • Cadastre-se

Java Transformar um Query em SQL em uma função Lambda ou Stream do Java 8


Posts recomendados

Estou iniciando no Java 8 e gostaria de transformar o comando em SQL abaixo em uma função lambda ou Stream:

 

SELECT * FROM CorrespondenciaCandidata c, (SELECT entidadeOrigem, MAX(m1) similaridadeMaxima FROM CorrespondenciaCandidata WHERE m1 <> 0 GROUP BY entidadeOrigem) r WHERE c.entidadeOrigem = r.entidadeOrigem AND c.m1 = r.similaridadeMaxima

 

Estou iniciando no Java 8 e gostaria de transformar o comando em SQL abaixo em uma função lambda:

SELECT * FROM CorrespondenciaCandidata c, (SELECT entidadeOrigem, MAX(m1) similaridadeMaxima FROM CorrespondenciaCandidata WHERE m1 <> 0 GROUP BY entidadeOrigem) r WHERE c.entidadeOrigem = r.entidadeOrigem AND c.m1 = r.similaridadeMaxima

 

Criei a Classe Correspondência com getters e setters

 

int codigo;

String nome;

String entidadeOrigem;

String EntidadeDestino;

double m1;

double m2;

double m3;

double medMax;

double dem;

public int getCodigo() { return codigo; }

public void setCodigo(int codigo) { this.codigo = codigo; }

public String getNome() { return nome; }

public void setNome(String nome) { this.nome = nome; }

public String getEntidadeOrigem() { return entidadeOrigem; }

public void setEntidadeOrigem(String entidadeOrigem) { this.entidadeOrigem = entidadeOrigem; }

public String getEntidadeDestino() { return EntidadeDestino; }

public void setEntidadeDestino(String entidadeDestino) { EntidadeDestino = entidadeDestino; }

public double getM1() { return m1; }

public void setM1(double m1) { this.m1 = m1; }

public double getM2() { return m2; }

public void setM2(double m2) { this.m2 = m2; }

public double getM3() { return m3; }

public void setM3(double m3) { this.m3 = m3; }

public double getMedMax() { return medMax; }

public void setMedMax(double medMax) { this.medMax = medMax; }

public double getDem() { return dem; } public void setDem(double dem) { this.dem = dem; }

 

Criei a List <Correspondencia> cor = ArrayList<>(). E inseri elementos neste ArrayList.

List <Correspondencia> = new ArrayList<>();

cor.add(new Correspondencia(41,"Paper_Organization","Paper", "Organization",0,0,0.14,0.04,0.23,0.08"));

cor.add(new Correspondencia(11,"email_hasanemail","email", "hasanemail",0,0.19,0.21,0.19,0,0.12));

cor.add(new Correspondencia(31,"Review_Reviewer","Review","Reviewer",0,0.36,0.5,0.41,0,0.25));

cor.add(new Correspondencia(01,"PaperAbstract_Abstract","PaperAbstract","Abstract", 0,0.33,0.45,0.32,0,0.22));

 

Agora quero filtrar o curso com LAMBDA ou STREAM de acordo com a query

SELECT * FROM CorrespondenciaCandidata c, (SELECT entidadeOrigem, MAX(m1) similaridadeMaxima FROM CorrespondenciaCandidata WHERE m1 <> 0 GROUP BY entidadeOrigem) r WHERE c.entidadeOrigem = r.entidadeOrigem AND c.m1 = r.similaridadeMaxima

 

 

01.jpg

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...