を選択することはできませんリストまたは設定します。は、私はHQLを使用して新しいオブジェクトを作成したいので、私は次のクエリを発行しようとした容器
org.hibernate.hql.internal.ast.QuerySyntaxException: Unable to locate appropriate constructor on class [com.pizzaboy.dto.OrderDTO]. Expected arguments are: com.pizzaboy.pojo.Adress, java.util.Date, com.pizzaboy.pojo.DeliveryType, com.pizzaboy.pojo.Restaurant, com.pizzaboy.pojo.Dish [SELECT new com.pizzaboy.dto.OrderDTO(o.adress, o.orderDate, dt, r, elements(d)) FROM com.pizzaboy.pojo.Order o JOIN o.user u JOIN FETCH o.deliveryType dt JOIN FETCH o.restaurant r JOIN FETCH o.dishes d WHERE u.id=:id]
はしかし、それは確かに、設定されている:
@Entity
@Table(name = "orders", catalog = "PIZZABOY")
public class Order implements java.io.Serializable {
private Integer id;
private Adress adress;
private DeliveryType deliveryType;
private Payment payment;
private Restaurant restaurant;
private User user;
private Date orderDate;
private Set<Dish> dishes = new HashSet<Dish>(0);
...
@OneToMany(mappedBy = "order", cascade = CascadeType.ALL)
public Set<Dish> getDishes() {
return this.dishes;
}
public void setDishes(Set<Dish> dishes) {
this.dishes = dishes;
}
なぜ私はこのエラーを取得し、それを修正する方法?
PS OderDTOコンストラクタ
public OrderDTO(Adress adress, Date orderDate, DeliveryType deliveryType, Restaurant restaurant,
List<Dish> dishes) {
をしてください適用されません。 OrderDTOコンストラクタを投稿する –
@JoeTaras question updated – 0x6B6F77616C74
わかりやすくするために、両方のオブジェクトでSet(またはList)を使用できますか?現在、SetをフェッチしてListとして使用しようとしています。 –