0

私はこの例に従っています: http://viralpatel.net/blogs/hibernate-one-to-many-xml-mapping-tutorial/

この例の場合、これは部門と従業員の間の 1 対多の関係です (従業員は 1 つの部門でのみ働くことができると仮定します)。

この例では、毎回新しい部署が作成され、新しい従業員が所属しています。

部門がすでに存在する場合、どのような変更を行う必要がありますか? たとえば、例をもう一度実行して、既存の部門にさらに従業員を追加したいとします。

ネットを検索しましたが、出くわしたすべての例/ガイドは、毎回新しい部門が作成されることを前提としています.

DB を検索して部門のデータ型を返す DAO 関数をセットアップする必要があるのではないでしょうか。

ありがとう!:)

viruspatel.netで言及されているコードは次のとおりです

public static void main(String[] args) {

    SessionFactory sf = HibernateUtil.getSessionFactory();
    Session session = sf.openSession();
    session.beginTransaction();

    Department department = new Department();
    department.setDepartmentName("Sales");
    session.save(department);

    Employee emp1 = new Employee("Nina", "Mayers", "1212");
    Employee emp2 = new Employee("Tony", "Almeida", "4343");

    emp1.setDepartment(department);
    emp2.setDepartment(department);

    session.save(emp1);
    session.save(emp2);

    session.getTransaction().commit();
    session.close();
}
4

2 に答える 2

1

それは私が少し前に尋ねたのと同じ質問でした。最初にデータベースから部門をロード/取得するだけで、既存の部門に人を追加できます

Department department = session.get(Department.class,new Long(10)); // i assume you are using Long for primary key

Employee emp1 = new Employee("Nina", "Mayers", "1212");
Employee emp2 = new Employee("Tony", "Almeida", "4343");

emp1.setDepartment(department);
emp2.setDepartment(department);
于 2013-01-11T09:54:59.203 に答える
1

Session オブジェクトのメソッドgetを使用して、データベースからオブジェクトを取得できます。

session.get(Department.class, id);

次のリングで完全なドキュメントを参照できます: http://docs.jboss.org/hibernate/orm/3.5/api/org/hibernate/Session.html

于 2013-01-11T06:12:41.790 に答える