1 回答

TA貢獻1831條經驗 獲得超9個贊
我發現您的存儲庫存在幾個問題。
您正在使用表名稱而不是
Entity
JPQL 查詢中的名稱。您嘗試選擇一個
List
對象,但返回Utilisateur
的簽名而不是。getClients()
List<Client>
List<Utilisateur>
您正在嘗試將角色與
:CLIENT
不屬于您的getClients()
簽名一部分的替換值 ( ) 進行匹配。
您正在Utilisateur
使用以下注釋作為父級進行配置:
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="ROLE")
因此,我假設您至少有一個 , 的子類Utilisateur, Client您正在嘗試查詢該子類:
@Entity
public class Client extends Utilisateur {...}
在這種情況下,請嘗試以下操作:
public interface UtilisateurRepository extends JpaRepository <Utilisateur,Long> {
@Query ("SELECT u FROM Utilisateur u WHERE TYPE(u) = Client")
public List<Utilisateur> getClients();
}
否則,您可能希望有一個單獨的 ClientRepository:
public interface ClientRepository extends JpaRepository<Client,Long> {
// in which case you can just take advantage of findAll
// which is already provided by JpaRepository
}
添加回答
舉報