public boolean especieCompatibleAcuario(Especie especie, Acuario acuario) { boolean compatible = false; boolean ghCompatible = false; boolean khCompatible = false; boolean phCompatible = false; boolean temperaturaCompatible = false; boolean tipoAguaCompatible = false; Session session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); Especie esp = (Especie) session.get(Especie.class, especie.getIdEspecie()); Acuario acu = (Acuario) session.get(Acuario.class, acuario.getIdAcuario()); System.out.println( "Agua de especie =" + esp.getTipoAgua() + ". Agua de acuario=" + acu.getTipoAgua()); if (esp.getTipoAgua().equals(acu.getTipoAgua())) { tipoAguaCompatible = true; for (int i = 0; i <= 3; i++) { if ((esp.getParametros().get(i).getMinimo() <= acu.getParametros().get(i).getMinimo()) & (esp.getParametros().get(i).getMaximo() >= acu.getParametros().get(i).getMaximo())) { switch (i) { case 0: ghCompatible = true; break; case 1: khCompatible = true; break; case 2: phCompatible = true; break; case 3: temperaturaCompatible = true; break; } } } } compatible = ghCompatible & khCompatible & phCompatible & temperaturaCompatible & tipoAguaCompatible; session.getTransaction().commit(); return compatible; }