2017-02-03 54 views
1

我正在使用Spring Data來加載一個對象,並且一切正常......但是,我不想加載整個對象,因爲我正在返回一個列表以顯示在表中,所以我只想加載表中的內容。那麼當用戶選擇「細節」時,我想對服務器進行AJAX調用以加載整個對象。我的想法是有一個基類「TableView」,然後有一個子類「類DetailsView擴展TableView」。我可能可能創建一個新的存儲庫,所以一個用於TableView和一個用於DetailsView,但我想知道是否有一種方法可以使用同一個存儲庫類?下面是我想要做的一個例子,但我不知道如何更改repositoryClass來實現我想要的...我得到以下錯誤:存儲庫重用的彈簧數據繼承

SQLGrammarException:無法在org中提取ResultSet .springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:261)

class TableView{ 
    String title; 
} 
class DetailsView extends TableView{ 
    String details; 
} 
interface ITableViewRepository extends CrudRepository<TableView, Integer>{ 

回答

1

您可以在TableViewRepository寫兩個查詢。

一個返回idtitle從您反對

@Query("SELECT tv.id, tv.title FROM TableView tv") 
TableView findWithTitles(); 

而在這之後只需調用一個方法findOneTableViewid返回整個對象。