Почему ручная задача SQL работает, но не в Hibernate?MySql

Форум по Mysql
Ответить Пред. темаСлед. тема
Anonymous
 Почему ручная задача SQL работает, но не в Hibernate?

Сообщение Anonymous »

У меня есть запрос MySQL, который отлично работает в MySQL Workbench, и из консоли, но не в Hibernate. Это ручный запрос: < /p>

Код: Выделить всё

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 = "user_id")
private Integer user_id;

@Column(name = "date")
private String date;

@Column(name = "meal")
private String meal;
}
Вот определения столбцов для таблиц:
еда

Код: Выделить всё

id       INT
user_id  INT
date     VARCHAR(10)
meal     VARCHAR(9)
mood_food

Код: Выделить всё

id         BIGINT
meal_id    INT
myfood_id  INT
servings   FLOAT
myfood

Код: Выделить всё

fdc_id    BIGINT
user_id   INT
brand     VARCHAR(255)
category  VARCHAR(255)
Чего мне не хватает?

Подробнее здесь: https://stackoverflow.com/questions/796 ... -hibernate
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Почему ручная задача SQL работает, но не в Hibernate?
    Anonymous » » в форуме JAVA
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Почему ручная задача SQL работает, но не в Hibernate?
    Anonymous » » в форуме MySql
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Почему ручная задача SQL работает, но не в Hibernate?
    Anonymous » » в форуме JAVA
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Почему ручная задача SQL работает, но не в Hibernate?
    Anonymous » » в форуме JAVA
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Почему ручная задача SQL работает, но не в Hibernate?
    Anonymous » » в форуме MySql
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous

Вернуться в «MySql»