相关疑难解决方法(0)

spring data jpa:在结果元组中找不到别名!确保您的查询定义了别名

当我尝试让用户使用存储库接口时,我收到以下异常"org.springframework.dao.InvalidDataAccessApiUsageException:在结果元组中找不到别名!确保您的查询定义了别名!;嵌套异常是java.lang.IllegalStateException:找不到别名在结果元组中!确保您的查询定义了别名!"

库:

@Repository
public interface UserRelationshipRepository
        extends JpaRepository<UserRelationship, Long>, QueryDslPredicateExecutor<UserRelationship> {

    @Query(value = "SELECT ur.id.toUser FROM UserRelationship ur WHERE ur.fromUser = :fromUser AND ur.relationshipTypeId = 1")
    Set<User> findUserFriends(@Param("fromUser") User fromUser);
}
Run Code Online (Sandbox Code Playgroud)

实体:

@Entity
@NamedEntityGraph(name = "graph.User", attributeNodes = {})
@Table(name = "users")
public class User extends BaseEntity implements UserDetails {

    private static final long serialVersionUID = 8884184875433252086L;

    @Id
    @SequenceGenerator(name = "users_id_seq", sequenceName = "users_id_seq", allocationSize = 1)
    @GeneratedValue(strategy = GenerationType.AUTO, generator = "users_id_seq")
    private Long id;

    @Column(name = "first_name") …
Run Code Online (Sandbox Code Playgroud)

spring spring-data spring-data-jpa

6
推荐指数
1
解决办法
5101
查看次数

Spring Data Projection和Error:"在结果元组中找不到别名!确保您的查询定义了别名!"

以下从JPA查询获取Spring Data Projection的方法对我不起作用:

/sf/answers/3181064351/

我的桌子:

LOOKUP_T

id   description    display_order_num
------------------------------------
1    Category #1    1
2    Category #2    2
Run Code Online (Sandbox Code Playgroud)

ACTIVITIES_T(activity_category_id映射到LOOKUP_T.id)

id  activity_category_id  activity_title
---------------------------------------
1      2                  Sleeping
2      2                  Eating
3      2                  Travel
Run Code Online (Sandbox Code Playgroud)

Spring Data DAO接口从此连接获取某些字段:

@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();

}
Run Code Online (Sandbox Code Playgroud)

Spring Data Projection Model接口:

public …
Run Code Online (Sandbox Code Playgroud)

spring jpa spring-data spring-data-jpa

4
推荐指数
2
解决办法
2153
查看次数

QuerySyntaxException:无法找到类

我正在使用hql生成类JunctionManagementListDto的实际Java对象.但我最终在我的控制台上遇到以下异常

org.hibernate.hql.internal.ast.QuerySyntaxException: Unable to locate class [JunctionManagementListDto] [SELECT new JunctionManagementListDto(c.siteId, c.name, c.ip, c.customer.id, zm.zone.name) FROM com.traff.hibernate.model.Controllers c, com.traff.hibernate.model.ZoneControllerMapping zm WHERE c.siteId = zm.controller.siteId  ]
at org.hibernate.hql.internal.ast.QuerySyntaxException.convert(QuerySyntaxException.java:54)
at org.hibernate.hql.internal.ast.QuerySyntaxException.convert(QuerySyntaxException.java:47)
at org.hibernate.hql.internal.ast.ErrorCounter.throwQueryException(ErrorCounter.java:79)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:255)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:183)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:136)
at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:105)
at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:80)
at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:168)
at org.hibernate.internal.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:221)
at org.hibernate.internal.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:199)
at org.hibernate.internal.SessionImpl.createQuery(SessionImpl.java:1735)
at com.traff.hibernate.generic.GenericDAOImpl.readListByHql(GenericDAOImpl.java:107)
at com.traff.hibernate.daoImpl.JnMgmtLogDaoImpl.getJunctionManagementList(JnMgmtLogDaoImpl.java:29)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207) …
Run Code Online (Sandbox Code Playgroud)

java hibernate hql

2
推荐指数
1
解决办法
5878
查看次数

标签 统计

spring ×2

spring-data ×2

spring-data-jpa ×2

hibernate ×1

hql ×1

java ×1

jpa ×1