2017-05-17 14 views
0

JPQLに書き換えるSQLクエリを作成しました。下にSQLというクエリと私の例であるJPQLがあります。私はクエリではwash_adminという名前の関数テーブルを使用しており、Javaクラスにマップされていないことを通知する必要があります。 SQLクエリ:SQLクエリをJPQLに正しく書き換える方法

select ww.wash_id, ww.name, ww.washlocation_wash from test3.user us 
    join test3.admin ad on us.user_id = ad.user_id 
    join test3.wash_admin wa on wa.admin_id = ad.admin_id 
    join test3.wash ww on ww.wash_id = wa.wash_id 
    where 1=1 
    and us.login = 'ADMIN11'; 

マイJPQL

@Query(value = "select w from Wash w left join w.washAdmins wa left join wa.userId us where us.login = :login") 
    List<Wash> getWashByLogin(@Param("login") String login); 

Wash

public class Wash { 
    private Integer washId; 
    private String name; 
    private WashLocation washLocation; 
    private List<Worker> washWorker; 
    private List<Reservation> washReservation; 
    private List<WashWashType> washTypes; 
    private List<Admin> washAdmins; 

User

public class User { 

    private Integer userId; 
    private String login; 
    private String passwordHash; 
    private Role userRole; // admin, worker, client 
    private Client userClient; 
    private Worker userWorker; 
    private List<File> file; 
    private Admin userAdmin; 

Admin

public class Admin { 
    private Integer adminId; 
    private User userId; 
    private List<Wash> washId; 

    @ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL) 
    @JoinTable(name = "wash_admin", joinColumns = { 
      @JoinColumn(name = "adminId") }, 
      inverseJoinColumns = { @JoinColumn(name = "washId") }) 
    public List<Wash> getWashId() { 
     return washId; 
    } 

は、残念ながら、私は走ったときに、このquery Iまし例外:

Name for parameter binding must not be null or empty! For named parameters you need to use @Param for query method parameters on Java versions < 8.; nested exception is java.lang.IllegalArgumentException: 

しかし、そのトピックの主なquestoionはそれを書き換える方法に適切にそれがあるのと同じになり得ることですSQLクエリですか?

答えて

0

私は解決策を見つけました。私が失敗を受けたのは誤ったインポートでした。取ることが重要ですimport org.springframework.data.repository.query.Param;

関連する問題