2017-04-05 31 views
0

我的位置,我想通過公司來檢索數據庫中的所有位置如何找對象場

我能做到這樣List<Location> findByCompanyId(Long companyId);

,但我怎樣才能檢索到的地點不是整個對象

的IDS
List<Long> findByCompanyId(Long companyId); 

我希望同樣的事情在第一種方法,但沒有整個對象只IDS

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 
+0

@NicolasLabrot nope他試圖檢索兩列並使用查詢註釋。相反,我正在尋找不使用查詢註釋的解決方案。 – roki

+0

是否有任何投影或其他? – roki

+0

相關問題和您嘗試實現相同目標:使用彈簧數據jpa在N列上進行投影。對不起,但比照。 Robert Niestroj除'@ Query'註釋之外沒有其他選項 –

回答

1
@Query("SELECT l.id FROM Location l WHERE l.company.id = :companyId"); 
List<Long> getLocationIds(@Param("companyId")Long companyId); 
+0

請在getLocationIds方法的頂部使用@Transactional(readOnly = true) –

+0

@LovaChittumuri還有其他解決方案嗎?使用Query註釋是最佳實踐嗎? – roki

+0

是的,如果你不使用這個註解,它會影響性能問題。 –