下面从JPA查询获取Spring数据投影的方法对我不适用:
https://stackoverflow.com/A/45443776/1005607
id description display_order_num
------------------------------------
1 Category #1 1
2 Category #2 2
id activity_category_id activity_title
---------------------------------------
1 2 Sleeping
2 2 Eating
3 2 Travel
@Repository
public interface ActivitiesDAO extends JpaRepository<ActivitiesT, Integer> {
@Query("select a.activityTitle, l.description as category, " +
"l.displayOrderNum as categoryDisplayOrderNum " +
"from ActivitiesT a, LookupT l " +
"where a.lookupT.id = l.id order by l.displayOrderNum asc ")
public List<MySpringDataProjection> findCustom();
}
public interface MySpringDataProjection {
public String getActivityTitle();
public String getCategory();
public Integer getCategoryDisplayOrderNum();
}
org.springframework.dao.InvalidDataAccessApiUsageException: No aliases found in result tuple! Make sure your query defines aliases!; nested exception is java.lang.IllegalStateException: No aliases found in result tuple! Make sure your query defines aliases!
org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:381)
org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:489)
org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:59)
org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:213)
我遇到同样的问题。在尝试了几次更改之后,我发现我们只需要在NativeQuery中为每个列添加“as”(甚至连列名都没有更改)。对于这里的您,可以像以下方式更改您的sql:
@Query("select a.activityTitle **as activityTitle**, l.description as category, " +
"l.displayOrderNum as categoryDisplayOrderNum " +
"from ActivitiesT a, LookupT l " +
"where a.lookupT.id = l.id order by l.displayOrderNum asc ")
下面从JPA查询中获取Spring数据投影的方法对我不起作用: https://stackoverflow.com/a/45443776/1005607 Spring数据投影模型界面: 一切都和那个公认的答案一样。但是得到这个错误: 我不想在查询中使用,它很脏,依赖于我们将其抽象为JPA的Hibernate。
我得到了和这个问题一样的错误。但是,我知道这个问题(实际上是3个单独的问题)已经解决了。我使用的是sd-jpa1.11.1.release和sd-commons1.31.1.release。 以下是我的代码摘要:
问题内容: 我正在尝试使用spring数据jpa 的注释在mysql数据库上执行自定义查询。 该表是 和MySQL中的查询是 在Spring数据jpa中实现此功能时。我正在使用这种逻辑, 创建另一个包含两个变量的类,并 使用@Query编写查询,该方法返回类的对象列表。 像spring数据jpa中的查询是 当代码编译且Web服务器正常启动时,当我尝试运行相关方法时,我得到 搜索此错误将显示spri
我试图使用spring data JPA的注释在mysql数据库上执行一个自定义查询。 null 当代码编译并且web服务器启动良好时,当我尝试运行相关方法时,我得到 搜索这个错误显示spring数据JPA:在结果元组中找不到别名!确保您的查询定义了别名,这说明它是一个已修复的错误。所以我想我的问题是不同的 这些代码是
我有一个奇怪的问题,我不知道为什么会发生。我肯定我做错了什么,因为这是我第一次使用数据投影,而且我在使用DTOS时从来没有遇到过这样的问题。 我有一个SELECT statemen,它返回各种数据类型的某些列。我有一个接口,我将它传递给JPA存储库,这样它就可以进行接口映射。但是它不是根据列名映射结果(例如'accountnum'->),而是按照字母顺序映射列。因此,如果'date_of_orde