Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 关系休眠错误_Java_Hibernate - Fatal编程技术网

Java 关系休眠错误

Java 关系休眠错误,java,hibernate,Java,Hibernate,我需要这段代码的帮助我不能很好地计算关系 这是map的类: package primero; // Generated 03-mar-2015 8:46:59 by Hibernate Tools 3.4.0.CR1 import java.util.HashSet; import java.util.Set; /** * Estudiantes generated by hbm2java */ public class Estudiantes implements java.io.Seri

我需要这段代码的帮助我不能很好地计算关系

这是map的类:

package primero;
// Generated 03-mar-2015 8:46:59 by Hibernate Tools 3.4.0.CR1
import java.util.HashSet;
import java.util.Set;
/**
 * Estudiantes generated by hbm2java
 */
public class Estudiantes implements java.io.Serializable {
    private String dni;
    private Estudiantes estudiantes;
    private String nombre;
    private String direccion;
    private String poblacion;
    private String telefono;
    private Set<Estudiantes> estudianteses = new HashSet<Estudiantes>(0);
    private Set<Cursos> cursoses = new HashSet<Cursos>(0);
    public Estudiantes() {
    }
    public Estudiantes(String dni) {
        this.dni = dni;
    }
    public Estudiantes(String dni, Estudiantes estudiantes, String nombre,
            String direccion, String poblacion, String telefono,
            Set<Estudiantes> estudianteses, Set<Cursos> cursoses) {
        this.dni = dni;
        this.estudiantes = estudiantes;
        this.nombre = nombre;
        this.direccion = direccion;
        this.poblacion = poblacion;
        this.telefono = telefono;
        this.estudianteses = estudianteses;
        this.cursoses = cursoses;
    }
    public String getDni() {
        return this.dni;
    }
    public void setDni(String dni) {
        this.dni = dni;
    }
    public Estudiantes getEstudiantes() {
        return this.estudiantes;
    }
    public void setEstudiantes(Estudiantes estudiantes) {
        this.estudiantes = estudiantes;
    }
    public String getNombre() {
        return this.nombre;
    }
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getDireccion() {
        return this.direccion;
    }

    public void setDireccion(String direccion) {
        this.direccion = direccion;
    }
    public String getPoblacion() {
        return this.poblacion;
    }
    public void setPoblacion(String poblacion) {
        this.poblacion = poblacion;
    }
    public String getTelefono() {
        return this.telefono;
    }

    public void setTelefono(String telefono) {
        this.telefono = telefono;
    }

    public Set<Estudiantes> getEstudianteses() {
        return this.estudianteses;
    }

    public void setEstudianteses(Set<Estudiantes> estudianteses) {
        this.estudianteses = estudianteses;
    }
    public Set<Cursos> getCursoses() {
        return this.cursoses;
    }
    public void setCursoses(Set<Cursos> cursoses) {
        this.cursoses = cursoses;
    }
}
这是解决问题的关键

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import org.hibernate.ObjectNotFoundException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import primero.*;
public class Main {
public static void main(String[] args) {
    //BufferedReader entrada=new BufferedReader(new InputStreamReader(System.in));
    SessionFactory sesion = SessionFactoryUtil.getSessionFactory();
    Session session = sesion.openSession();
    //Transaction tx = session.beginTransaction();
    try{
        /*
        System.out.println("Introduce el codigo del cliente: ");
        short num=Short.parseShort(entrada.readLine());
        System.out.println("\nDATOS DEL CLIENTE: "+num+"\n");
        Clientes cliente = new Clientes();
        cliente=(Clientes)session.load(Clientes.class, num);
        */
        System.out.println("-------------------------------------------------------");
        Estudiantes estu = new Estudiantes();
        Query q = session.createQuery("from Estudiantes");
        List <Estudiantes> lista = q.list();
        Iterator <Estudiantes> iter = lista.iterator();
        while(iter.hasNext()){
            estu = iter.next();
            System.out.println("Dni: "+estu.getDni()+", "+estu.getNombre());
            System.out.println("Direccion: "+estu.getDireccion());
            System.out.println("Representante: "+estu.getDni()+", "+estu.getNombre());
            long count = (long) session.createQuery("select count(*) from Cursos where estudianteses="+estu.getEstudianteses()).uniqueResult();
            System.out.println("Numero de cursos: "+count);
    //===============================================================
            Cursos curs=new Cursos();
            Query q1 = session.createQuery("from Cursos");
            List <Cursos> lista1 = q1.list();
            Iterator <Cursos> iter1 = lista1.iterator();

            while(iter1.hasNext()){
                curs = iter1.next();
                System.out.println("    "+curs.getCodCurso()+" ==> "+curs.getNombre()+": "+curs.getProfesor1()+", "+curs.getProfesor2()+", "+curs.getProfesor3());
            }
            System.out.println("-------------------------------------------------------");
        }
    }
    catch(ObjectNotFoundException e){
        System.out.println("No existe el cliente");
        //e.printStackTrace();
    }
    catch(NullPointerException e){
        System.out.println("Los datos son nulos");
        //e.printStackTrace();
    }
    catch(NumberFormatException e){
        System.out.println("El numero introducido no es valido");
        //e.printStackTrace();
    }
    //tx.commit();
    session.close();
    System.exit(0);
}
}
我不能打印这门课的所有学生。我需要帮助。谢谢 Set lines=new HashSet10000;//也许应该更大一点
弦线

以下行应更改为

 long count = (long) session.createQuery("select count(*) from Cursos where estudianteses="+estu.getEstudianteses()).uniqueResult();
对此

 long count = (long) session.createSQlQuery("select count(*) from Cursos where estudianteses="+estu.getEstudianteses()).uniqueResult();    

它必须是createSqlQuery

编辑您的问题,并请在控制台中发布您在运行程序时得到的输出。。?
 long count = (long) session.createSQlQuery("select count(*) from Cursos where estudianteses="+estu.getEstudianteses()).uniqueResult();