Spring jpa返回没有nativeQuery的特定列

vnjpjtjt  于 2023-03-30  发布在  Spring
关注(0)|答案(1)|浏览(223)

我试图只从数据库特定列中选择

public interface ItemRepository extends PagingAndSortingRepository<Item,String> {

  @Query("SELECT i.id FROM Item i where i.id =?1")
  Optional<Item> getit(String id);
}

但是它返回的不是对象Item,而是String(id值)。
我如何返回对象?(我不能给它添加任何构造函数)
p.s.如果我使用nativeQuery,它确实工作。

wz3gfoph

wz3gfoph1#

JQL中的查询可以更简单。

@Query("SELECT i FROM Item i where i.id =?1")
Optional<Item> getit(String id);

甚至

@Query("FROM Item where id =?1")
Optional<Item> getit(String id);

但是,由于您已经在使用JPA,因此不需要使用@Query注解定义 any 方法。
findById已定义。

Optional<Item> itemOpt = itemRepository.findById(id);

相关问题