我在Spring Data的repository中有这样的方法:
public interface GameSessionRepository extends JpaRepository<GameSession, Long> {
@Query("SELECT gs FROM GameSession gs WHERE TYPE(gs) = :gameSessionType")
<T extends GameSession> Optional<T> findActive(
@Param("gameSessionType") Class<T> gameSessionType
);
}
字符串
但是调用给了我一个异常:org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.QueryException: Named parameter not bound : gameSessionType
。
对于上下文,GameSession
是一个抽象实体类,有两个具体实现:QuizGameSession
和TranslationGameSession
。
我的问题是:是否有可能在Spring Data中实现这种签名?
1条答案
按热度按时间bgibtngc1#
你不能。在Spring Data中按原样实现GameSessionRepository接口的签名是不可能的。原因是Spring Data JPA不支持查询中的动态类型参数。
或许可以:
字符串