我在JpaRepository中有一个HQL查询:
public interface LineRepository extends JpaRepository<LineEntity , Integer>{
@Query(
value = "SELECT l from LineEntity l" +
"WHERE l.lineCode = :lineCode "
)
List<LineEntity> findAllByLineCode(
@Param("lineCode")int lineCode
);
}
我想更改此方法以返回
LineEntity
。Limit只适用于nativeQuery,我想将其放入注释中
如果你想在没有查询的情况下做到这一点,那么我们可以使用分页界面。只需做两步。
1) 在控制器中
@RequestMapping("/getLineByLineCode/{code}")
public @ResponseBody Page<LineEntity> getFirstUserByName(@PathVariable String code,Pageable pageable)
{
// this pageable for single result.(first result will return)
Page<LineCode> line = repository.findByCode(code,new PageRequest(0,1));
//(start index,upto index)
return line;
}
2) 在存储库中
public interface LineRepository extends JpaRepository<LineEntity , Integer>{
Page<LineCode> findByCode(String code,Pageable pageable);
}
在hibernate中的查询对象上,您有一个setMax结果(int max结果)方法。
我没有使用如何将其放入注释中,而是使用经典的方式,它是这样工作的:
Query q = session.createQuery("XXX").setMaxResults(1000);
q.list();
如果有许多LineEntity具有相同的LineCode,那么您需要一个额外的属性,该属性可以是id,例如:
public interface LineRepository extends JpaRepository<LineEntity , Integer>{
@Query(
value = "FROM LineEntity li WHERE li.id = " +
"(SELECT max(l.id) FROM LineEntity l " +
"WHERE l.lineCode = :lineCode)"
)
LineEntity findFirstByLineCode(
@Param("lineCode") int lineCode
);
}
问题内容: 在Hibernate 3中,有没有办法等效于HQL中的以下MySQL限制? 如果可能的话,我不想使用setMaxResults。这肯定在较旧的Hibernate / HQL版本中是可行的,但似乎已经消失了。 问题答案: 几年前,当有人问到为什么它在Hibernate 2中有效但在Hibernate 3中无效时,此消息发布在Hibernate论坛上: 在HQL中,从不支持Limit 子句
我希望通过登录搜索员工列表,并使用扩展的DAO接口: 在我的服务层中,我用
问题内容: 在Hibernate 3中,有没有办法等效于以下HQL中的MySQL限制? 如果可能,我不想使用setMaxResults。这肯定在较旧的Hibernate / HQL版本中是可行的,但似乎已经消失了。 问题答案: 几年前,当有人问到为什么它在Hibernate 2中有效但在Hibernate 3中无效时,此消息发布在Hibernate论坛上: 在HQL中, 从不 支持Limit 子句
问题内容: 有没有办法使用HQL在Grails中使用hibernate命名查询? 我已经在《利用hibernate》一书中阅读了有关它们的内容,想知道是否有办法在Grails中使用它们。 像这样的映射文件中包含命名查询以及类映射: 现在,我确定可以包含一个 hibernate映射文件, 并将其集成到Grails GORM配置中,因为在此声明,包含 hibernate映射文件的 可以在Grails中
问题内容: 我有以下hibernate映射: 而表如下所示: 我的hibernate查询看起来像: 但是我总是 有人可以帮我如何使它正常工作吗? 问题答案: 您必须使用子查询而不是联接。大致如下: 另外,根据类型的不同,应该以其他格式显示它。
和异常: 实体:GirMotiuRebuig 这个标准起作用了: