ハイバーネートでデータを保存する方法は何ですか?
Hibernateには、データを保存する方法がいくつか用意されており、その中でも最も一般的なのは以下の2つです。
- session.save() メソッドを使用してデータを保存します。このメソッドは、指定されたオブジェクトをデータベースに保存します。例えば、employee というエンティティクラスがある場合、次のコードを使用してオブジェクトを保存できます:
- 従業員のオブジェクトを作成し、名前を”John”、年齢を30歳に設定します。セッションを開始し、トランザクションを開始して、従業員情報をデータベースに保存します。最後にセッションを終了します。
- 上記のコードでは、session.save(employee) によってemployeeオブジェクトがデータベースに保存されます。session.getTransaction().commit() を呼び出した後、トランザクションはコミットされ、保存操作が有効になります。
- データを保存するためにsession.persist()メソッドを使用します。このメソッドはsession.save()と同様ですが、session.persist()を呼び出した後は、明示的にsession.getTransaction().commit()を呼び出す必要はありません。例:
- 社員 employee = 新しい 社員();
employee.set名前(“John”);
employee.set年齢(30);セッション session = セッションファクトリー.新しいセッションを開く();
session.トランザクションを開始する();
session.永続化する(employee);
session.トランザクションをコミットする();
session.閉じる(); - 上記のコードでは、session.persist(employee) は、employeeオブジェクトをデータベースに保存し、トランザクションを自動的にコミットします。
上記の2つの方法以外にも、Hibernateはsession.saveOrUpdate()やsession.merge()など、データを保存する他の方法を提供しています。これらの方法は、具体的な要求に応じて選択して使用することができます。