Я хотел бы создать такие таблицы в MySQL с помощью Hibernate / JPA.
SENSOR: PK_SENSOR_ID, SENSOR_NAME, SENSOR_URL
SENSOR_DATA: FK_SENSOR_ID, DATE, TIME, VALUE
SENSOR_DATA будет содержать показания от нескольких датчиков.Тогда я хотел бы иметь метод, который использует этот запрос:
"SELECT AVG(VALUE), DATE, SENSOR_NAME, FROM SENSOR, SENSOR_DATA WHERE DATE BETWEEN '2019-03-01' AND '2019-03-02' AND SENSOR_ID = FK_SENSOR_ID GROUP BY DATE"
Он будет возвращать массив средних значений 'value' за каждый день (с датой и имя_сенсора).
На данный момент я знаю, что мне нужно создать модель для SENSOR с @Entity, но как насчет SENSOR_DATA?
До сих пор я пытался создать простую модель, хранилище и сервис с датой, временем и значением изатем запросить его, но проблема заключалась в том, что я смог получить только одну строку за один день.Таким образом, мне пришлось бы создавать множество объектов для каждого дня отдельно, что не имеет смысла.Я предполагаю, что это было из-за того, что я использовал @Entity и добавил id, но я не мог найти другое решение.Я хочу создать один объект Sensor и затем выполнить запрос через таблицу SENSOR_DATA.
Стек: Spring Boot, Spring Boot Data JPA Starter, Hibernate, MySQL, Lombok,