@Repository
public interface TopicRepository extends CrudRepository<Topic, String>{
@Query(value = "SELECT u from topic u where u.name = ?1")
List<Topic> findEverything(String name);
}
根据spring文档,我可以做上面的@query。但是,它给我的原因是:org.hibernate.hql.internal.ast.QuerySyntaxException:topic未映射错误。
但是,当我在下面执行此操作时,它可以正常工作。
@Repository
public interface TopicRepository extends CrudRepository<Topic, String>{
@Query(value="SELECT * FROM topic WHERE topic.name = ?1", nativeQuery = true)
List<Topic> findEverything(String name);
}
我正在使用mySQL数据库。我需要知道原因。请帮帮我谢谢。
答案 0 :(得分:0)
如果您正在使用JPQL查询,请尝试注释并命名您的参数,而不是依赖于位置参数,如下所示:
@Query(value = "SELECT u from topic u where u.name = :name")
List<Topic> findEverything(@Param("name")String name);