Spring 如何查找对象字段
我有位置,我想按公司检索数据库中的所有位置 我可以这样做Spring 如何查找对象字段,spring,spring-data-jpa,Spring,Spring Data Jpa,我有位置,我想按公司检索数据库中的所有位置 我可以这样做列出findByCompanyId(longcompanyid) 但如何检索位置的ID而不是整个对象 List<Long> findByCompanyId(Long companyId); @Query(“从位置l选择l.id,其中l.company.id=:companyId”); 列出getLocationId(@Param(“companyId”)Long companyId); 请在GetLocationId之上使用
列出findByCompanyId(longcompanyid)代码>
但如何检索位置的ID而不是整个对象
List<Long> findByCompanyId(Long companyId);
@Query(“从位置l选择l.id,其中l.company.id=:companyId”);
列出getLocationId(@Param(“companyId”)Long companyId);
请在GetLocationId之上使用@Transactional(readOnly=true)method@LovaChittumuri还有其他解决办法吗?使用查询注释是最佳做法吗?是的,如果不使用此注释,将影响性能问题。@NicolasLabrot不,他正在尝试检索两列并使用查询注释。相比之下,我正在寻找不使用查询注释的解决方案。是否存在任何投影或其他问题?相关的问题和您尝试实现相同的目标:使用spring数据jpa在N列上投影。抱歉,请参阅Robert Niestroj,除了@Query
注释,没有其他选项
public class Location extends BaseEntity {
@Column(name = "`street_first`", nullable = false)
private String streetFirst;
@Column(name = "`street_second`")
private String streetSecond;
@Column(name = "`city`", nullable = false)
private String city;
@Column(name = "`zip`")
private String zip;
@Column(name = "`state`", nullable = false)
private String state;
@Column(name = "`phone`", nullable = false)
private String phone;
@JoinColumn(name = "`company_id`", nullable = false)
private Company company;
}
//getters and setters
@Query("SELECT l.id FROM Location l WHERE l.company.id = :companyId");
List<Long> getLocationIds(@Param("companyId")Long companyId);