У меня есть запрос MySQL, который отлично работает в MySQL Workbench, и из консоли, но не в Hibernate. Это ручный запрос: < /p> [code]select myfood.*, meals.date, meals.meal, meal_food.servings from myfood left join meal_food on myfood.fdc_id = meal_food.myfood_id left join meals on meal_food.meal_id = meals.id where myfood.user_id = 0 and meals.user_id = 0 and meals.date = '2025-06-19'; < /code> возвращается одна запись: < /p> fdc_id user_id brand category date meal servings 1872514 0 Kroger Juice 2025-06-19 Breakfast 1 < /code> Вот jibernate Query < /p> @Query(value = "select myfood.*, meals.date, meals.meal, meal_food.servings " + "from myfood " + "left join meal_food on myfood.fdc_id = meal_food.myfood_id " + "left join meals on meal_food.meal_id = meals.id " + "where myfood.user_id = 0 and meals.user_id = 0 and meals.date = '2025-06-19'", nativeQuery = true) < /code> Этот запрос называется из Java Spring Boot@GetMapping("/get-meals") public List getMeals() { List meals = mealRepo.findMyFood(); System.out.println("MealController.getMeals: meals.size() = " + meals.size()); return meals; } < /code> Я вижу запрос Hibernate, возвращенный в консоли: < /p>
Hibernate: select myfood.*, meals.date, meals.meal, meal_food.servings from myfood left join meal_food on myfood.fdc_id = meal_food.myfood_id left join meals on meal_food.meal_id = meals.id where myfood.user_id = 0 and meals.user_id = 0 and meals.date = '2025-06-19' < /code> < /blockquote> , который возвращает 0 записей, а не ожидаемый 1.MealController.getMeals: meals.size() = 0 < /code> Я проверил тройную проверку, что модель Foodgui.java соответствует ожидаемым значениям возврата: < /p> @NoArgsConstructor @AllArgsConstructor @Setter @Getter public class MealGui { private Long fdc_id; // from myfood table private Integer user_id; // from myfood table and meal table private String brand; // from myfood table private String category; // from myfood table private String date; // from meal table private String meal; // from meal table (e.g., Breakfast, Lunch, Dinner) private Float servings; // from meal_food table } < /code> и что поля модели совпадают с именами столбцов таблицы, например: < /p> @Entity @Setter @Getter @NoArgsConstructor @AllArgsConstructor @ToString public class Meal { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") private Integer id;
@Column(name = "meal") private String meal; } [/code] Вот определения столбцов для таблиц: [b] еда [/b] [code]id INT user_id INT date VARCHAR(10) meal VARCHAR(9) [/code] [b] mood_food [/b] [code]id BIGINT meal_id INT myfood_id INT servings FLOAT [/code] [b] myfood [/b] [code]fdc_id BIGINT user_id INT brand VARCHAR(255) category VARCHAR(255) [/code] Чего мне не хватает?
У меня есть запрос MySQL, который отлично работает в MySQL Workbench, и из консоли, но не в Hibernate. Это ручный запрос:
select myfood.*, meals.date, meals.meal, meal_food.servings
from myfood
left join meal_food on myfood.fdc_id =...
У меня есть запрос MySQL, который отлично работает в MySQL Workbench, и из консоли, но не в Hibernate. Это ручный запрос:
select myfood.*, meals.date, meals.meal, meal_food.servings
from myfood
left join meal_food on myfood.fdc_id =...
У меня есть запрос MySQL, который отлично работает в MySQL Workbench, и из консоли, но не в Hibernate. Это ручный запрос:
select myfood.*, meals.date, meals.meal, meal_food.servings
from myfood
left join meal_food on myfood.fdc_id =...
У меня есть запрос MySQL, который отлично работает в MySQL Workbench, и из консоли, но не в Hibernate. Это ручный запрос:
select myfood.*, meals.date, meals.meal, meal_food.servings
from myfood
left join meal_food on myfood.fdc_id =...
У меня есть запрос MySQL, который отлично работает в MySQL Workbench, и из консоли, но не в Hibernate. Это ручный запрос:
select myfood.*, meals.date, meals.meal, meal_food.servings
from myfood
left join meal_food on myfood.fdc_id =...