@Id
@Column(name="Item", unique = true, nullable = false)
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int itemId;
@Column(name="ItemName")
private String itemName;
@Column(name="ItemPrice")
private double itemPrice;
@Column(name="status")
private String status;
@Column(name="image")
private String image;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "RestaurantId", nullable = false)
private Restaurant restaurant;
это мой класс сущностей,
public List<FoodItem> getFoodItems(Restaurant restaurant) {
Session session=getSession();
List<FoodItem> list=null;
NativeQuery<?> query = session.createNativeQuery("SELECT " +
" \"Item\"," +
" \"ItemName\"," +
" \"ItemPrice\"," +
" \"RestaurantId\"," +
" \"status\"," +
" \"image\" " +
"FROM \"SYSTEM\".\"FoodItem\" where \"RestaurantId\"="+restaurant.getRestaurantId());
list = (List<FoodItem>) query.getResultList();
return list;
}
когда я запускаю этот метод, он не возвращает мне List<FoodItem>
вместо этого он возвращает List<Array>
, как это,
[
[
1,
"Pasta",
55,
14,
"Veg",
null
],
[
2,
"Burger",
35,
14,
"Veg",
null
]
]
и если я пытаюсь установить для объекта ресторана значение NULL в каждом объекте в списке,
for(int index=0 ;index< list.size();index++)
list.get(index).setRestaurant(null);
я получил ClassCastException.
мне нужен ответ в ключе: значение пары в соответствии с моим классом сущности
может кто-нибудь решить это для меня.
Благодарю.
[обновление] Решено!