データを重複させないようにしたい(データをObject(Company.java
)に変換し、Hibernateを介してテーブルに格納する)。テーブルの既存のエントリをHibernateエンティティオブジェクトに変換する
新しいデータが入力されるたびに、クエリを使用してすべてのエントリと照合します。この場合、私はuniquiResult()
メソッドを使用して、データがすでにテーブルに入っているかどうかを確認しています。
データが既に存在しない場合は、データで新しいCompany
オブジェクトを作成し、Company
オブジェクトをセッションに保存します。
データが既に存在する場合、既存のエントリを取得してオブジェクトにするにはどうすればよいですか?
私のコードは以下の通りです:
Company company;
if(session
.createQuery("from company where company_name=:placeholder")
.setParameter("placeholder", data.getCompanyName())
.uniqueResult()
!=null){
company = ????;
} else {
company = new Company(data.getCompanyName());
session.save(company);
}
感謝。あなたはHibernateのSessionのドキュメントに見れば、それはあなたのクエリを実行すなわち