我有两个表,用户和角色,它们是多对多的
select u.name, r.name, r.uuid
from user u
join user_role_join urj on urj.user_uuid = u.uuid
join role r on r.uuid = urj.role_uuid;
Adam | superAdmin | {uuid1}
Adam | admin | {uuid2}
Lisa | guest | {uuid3}
...
User
String name,
List<Role> roles;
Role
String name,
UUID uuid
我正在使用EntityManager进行查询。
我如何使JPA知道映射一个用户和多个角色?
{
name:Adam
roles:[
{
uuid:{uuid1}
name:superAdmin
},
{
uuid:{uuid2}
name:admin
}
]
},
{
name:Lisa
roles:[
{
uuid:{uuid3}
name:guest
}
]
}
我不知道为什么需要使用本机查询,但是当涉及集合时,JPA/Hibernate只能在使用实体时提供帮助。
如果您希望避免不必要的选择项,我可以建议您尝试使用带有Blaze-Persistence的JPA模型,因为这是Blaze-Persistence实体视图的完美用例。
我创建了这个库,以便在JPA模型和自定义接口或抽象类定义的模型之间进行简单的映射,就像Spring Data Projects on Steroids一样。其思想是以您喜欢的方式定义目标结构(域模型),并通过JPQL表达式将属性(getter)映射到实体模型。
@EntityView(User.class)
public interface UserDto {
@IdMapping
UUID getId();
String getName();
Set<RoleDto> getRoles();
@EntityView(Role.class)
interface RoleDto {
@IdMapping
UUID getUuid();
String getName();
}
}
userdto a=entityviewmanager.find(entityManager,userdto.class,id);
Spring数据集成使您可以像使用Spring数据投影一样使用它:https://persistence.blazebit.com/documentation/entity-view/manual/en_us/index.html#spring-data-features
我有这些实体-项目 和- 我需要运行此sql查询: 我在ItemRepository中使用了这个[1],但性能不好。它正在检索项目和类别中的所有字段(包括我不需要的与类别的联接)。 [1] 我正在尝试使用命名查询和投影来提高性能,但我似乎一事无成。我一直遇到-<代码>验证失败,无法查询方法公共抽象java。util。列出findByItemSet(长)。我尝试创建一个DTO类和一个接口来做同样的事
我是Spring Data投影的新手,我正在尝试在一个新项目中使用此功能。 特别是,我想在与复杂查询关联的回购方法上使用投影。 我用注释注释了我的方法,并声明了一个JPA查询,其中包含几个连接的表/实体和一个复杂的where条件。 在本文中,我了解到可以使用基于接口的投影和基于类的投影,但只有第一个支持嵌套投影。 我需要嵌套投影,但似乎只有使用基于接口的投影才支持此功能,并且这种方法仅适用于自动生
我有一个关于嵌套列表投影界面用法的问题。我有两个实体(父和子)(它们有单向关联) 父级=> 子=> 我有两个选择特定列投影界面。 这个查询可以工作,但是它选择ChildEntity的所有列,并且只将id、name propeties映射到ChildProjection。(生成的查询选择所有列,但我想只选择id和name列) 我如何只选择id和name列(为嵌套列表投影界面选择特定列)并映射到Chi
我有以下MySQL查询。我尝试了spring data jpa中的接口投影,但是投影字段id是UUID。所以它不会被映射到界面投影中。所以我想尝试POJO投影,但它不起作用。
问题内容: 我需要像下面这样转换一个Hibernate条件查询 但是在JPA(2)中,我不知道如何实现投影-在这种情况下-是总和。奇怪的是,Hibernate和JPA(甚至是Hibernate JPA 2)具有如此巨大的差异,尤其是在条件查询中。 我开始 但是不知道如何在这里实现投影,也没有别名 问题答案: 这是一个老问题,但让我们举个例子: 使用Hibernate,与Hibernate不同,您总
我试图通过示例查询来过滤数据。它适用于实体和基本体,但不适用于投影。你知道SpringDataJpa中是否有这样的功能吗?