Я получаю данные, используя собственный запрос внутри интерфейса DAO. Этот собственный запрос является сложным запросом со множеством соединенных таблиц и множеством условий. Он возвращает результат, который сопоставлен с сущностью таблицы в базе данных, как показано ниже в моем интерфейсе Dao
public interface BlistDao extends JpaRepository<Blist, BlistPK>{
@Query(value="Query Part Omitted as its too long and complex" , nativeQuery =true)
public Blist getMyData();
}
Я вызываю функцию из Service class
@Service
public class BlistService {
@Autowired
BlistDao blistdao;
public Blist addData(){
Blist blist =blistdao.getMyData();
blistdao.save(blist);
return blist;
}
}
Я хочу сохранить данные, полученные с помощью getMyData()
, в базу данных. Метод blistdao.save(blist)
не вставляет никаких данных в базу данных и не выдает никаких ошибок. Но я предполагаю, что, поскольку нет никаких изменений в значениях сущности, JPA не будет ничего сохранять в базе данных.
Есть ли способ заставить JPA вставить данные?
Контроллер
@RestController
@RequestMapping("listing")
public class ListingController {
@Autowired
BlistService blistservice;
@RequestMapping("addData")
public Blist addCases(Blist blist) {
return blistservice.addData();
}
}
Я напрямую звоню из браузера, используя URL: http://localhost:8080/listing/addData
База данных: Postgres