@Override
public LinkedHashSet <String> listHotels() {
Query query = em.createNativeQuery("select * from Hotel");
LinkedHashSet <String> hotel= query.getResultList();
return hotel;
}
という警告が表示されますincompatible types. query.getResultList(); returns a List
が、メソッドに返してもらいたいのはLinkedHashSet
.
ここでa を使用している理由LinkedHashSet
は、重複した値が DB に入力されるのを避けるためです。最初にメソッドを呼び出し、listHotels()
既に値が含まれているかどうかを確認し、含まれていない場合は値を DB に保存します。
編集
public void saveHotel(Hotel hotel) {
if (hotel.getId() ==null){
em.persist(hotel);
} else {
em.merge(hotel);
}
}
これがレコードをDBに保存する方法です