@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
.
Причина, по которой я здесь использую LinkedHashSet
, состоит в том, чтобы избежать ввода дублирующих значений в БД. Сначала я вызову метод listHotels()
и проверю, содержит ли оно уже значение, а если нет, сохраню значения в БД
EDIT
public void saveHotel(Hotel hotel) {
if (hotel.getId() ==null){
em.persist(hotel);
} else {
em.merge(hotel);
}
}
Вот как я могу сохранить записи в моей БД