Spring boot также позволяет использовать интерфейс JpaRepository, который имеет встроенные методы для выполнения операций CRUD и т. Д. Вы можете использовать интерфейс JpaRepository и сохранять свои данные оттуда.
Если вам нужно использовать nativeQuery, вы должны использовать ":" вместо "?" Вы также можете использовать EntityManager для сохранения ваших данных:
@Transactional
public void insertWithQuery(Person person) {
entityManager.createNativeQuery("INSERT INTO person (id, first_name, last_name) VALUES (?,?,?)")
.setParameter(1, person.getId())
.setParameter(2, person.getFirstName())
.setParameter(3, person.getLastName())
.executeUpdate();
}
В вашем случае вам нужно разрушить объект Building следующим образом:
@Modifying
@Transactional
@Query(value = "insert into Building (Name, Description, Id_type, Images, Address, PostalCode, City, State, Country, GpsLocation) VALUES (:name, :description, :type, :images, :address, :postalCode, :city, :state, :country, :gpsLocation)", nativeQuery = true)
Long saveBuilding(String name, String description, String type, String images, String address, String postalCode, String city, String state, String country, String gpsLocation);
Если вам нужно больше примеров, см. Заявление INSERT в JPA