是否可以从表中选择一个或多个字段并将其Map到实体中?
正在尝试
@Repository
public interface RoleRepo extends JpaRepository<Role, Long>{
@Query("SELECT r.roleId, r.name FROM role r")
List<Role> getAllRoleNames();
}
我只需要这两个值,其余的字段可以是null
,这样效率更高。
ConversionFailedException: Failed to convert from type [java.lang.Object[]] to type
[@org.springframework.data.jpa.repository.Query demo.model.Role] for value '{1, Java Dev}';
nested exception is org.springframework.core.convert.ConverterNotFoundException:
No converter found capable of converting from type [java.lang.Long] to type
[@org.springframework.data.jpa.repository.Query demo.model.Role]] with root cause
那么,当我不能只说object.Id = role.roleId
(object.Id
就是1
)时,我如何才能进行转换呢?
3条答案
按热度按时间dtcbnfnu1#
通过Spring Data,您可以使用投影来完成此操作。
。
现在,您可以在存储库中使用ExampleProjection,即使存储库引用ExampleEntity而不是Projection。
更多信息,请访问:https://www.baeldung.com/spring-data-jpa-projections
fzwojiic2#
在Spring中,您可以使用自定义实体,如下所示:
NewRole.java
RoleRepo.java
祝你好运!
vnzz0bqm3#
我只是通过添加一个新的构造函数来修改查询,以便填充我需要的字段,而其他字段为空。