Hibernate Many-to-Many, duplica el mismo registro

Traté de Hibernate Mapping Many-to-Many usando Anotaciones con el ejemplo dado en vaannila.

http: //www.vaannila.com/hibernate/hibernate-example/hibernate-mapping-many-to-many-using-annotations-1.htm

        Set<Course> courses = new HashSet<Course>();
        courses.add(new Course("Maths"));
        courses.add(new Course("Computer Science"));

        Student student1 = new Student("Eswar", courses);
        Student student2 = new Student("Joe", courses);
        session.save(student1);
        session.save(student2);

Esto funciona bien. Pero si intento agregar otro curso más tarde, a un estudiante existente como,

        Set<Course> courses = new HashSet<Course>();
        courses.add(new Course("Science"));
        Student student = new Student("Eswar", courses);
        session.save(student);

Duplica al estudiante Eswar nuevamente en la tabla.

        +------------+--------------+
        | STUDENT_ID | STUDENT_NAME |
        +------------+--------------+
        |          1 | Eswar        |
        |          2 | Joe          |
        |          3 | Eswar        |
        +------------+--------------+

¿No puedo agregar los cursos al Eswar existente? Realmente aprecio su ayuda para este problema.

Respuestas a la pregunta(1)

Su respuesta a la pregunta