2011-07-05 14 views
1

私はHibernateを初めて使用し、http://www.vaannila.com/hibernate/hibernate-example/hibernate-mapping-one-to-many-using-annotations-1.htmlのチュートリアルに続いて、このチュートリアルのメインクラスに関する質問があります。Hibernateの更新テーブル

私は

 
Set phoneNumbers = new HashSet(); 
phoneNumbers.add(new Phone("house","32354353")); 
phoneNumbers.add(new Phone("mobile","9889343423")); 
Student student = new Student("Eswar", phoneNumbers); 
session.save(student); 
transaction.commit(); 

は、3つのテーブルに新しいレコードを挿入することを理解しています。しかし、この学生が別の番号を取得した場合

 
Phone work = new Phone("mobile","12345678"); 

PHONEテーブルとSTUDENT_PHONEテーブルを更新する方法を教えてください。ありがとう。

答えて

0

あなたにはいくつか欠けています。このコードは動作します:

Set phoneNumbers = new HashSet(); 
student.setPhoneNumbers(phoneNumbers); // Add the phone numbers to the Student 

Phone phone = new Phone("house","32354353"); 
session.save(phone); // Persist the new object 
phoneNumbers.add(phone); 

Phone phone = new Phone("mobile","9889343423"); 
session.save(phone); // Persist the new object 
phoneNumbers.add(phone); 

Student student = new Student("Eswar", phoneNumbers); 
session.save(student); 
transaction.commit(); 
+0

お返事ありがとうございます。おそらく私は私の質問をうまく説明しなかったでしょう。私はコードを動作させることができます。私が知りたいのは、チュートリアルでメインクラスを走らせた後、STUDENTテーブルに "Eswar"という名前の生徒がいることです。しかし、後で私はEswarの詳細を彼の仕事の電話番号に追加して、私はそれをどうしたらいいのでしょうか?私はsession.save(student)を使ってみましたが、STUDENTテーブルに2つの "Eswar"エントリがあります。 – user200340