我正在使用Spring Data加载一个对象并且一切正常...但是,我不想加载整个对象,因为我返回一个列表显示在表中,所以我只想加载表中的内容。然后,当用户选择"细节"我想对服务器进行AJAX调用以加载整个对象。我的想法是有一个基础类" TableView"然后有一个子类"类DetailsView扩展了TableView"。我可以创建一个新的存储库,所以一个用于TableView,一个用于DetailsView,但我想知道是否有办法使用相同的存储库类?下面是我想做的一个例子,但我不知道如何更改repositoryClass以实现我想要的...我收到以下错误:
SQLGrammarException:无法在org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:261)中提取ResultSet
class TableView{
String title;
}
class DetailsView extends TableView{
String details;
}
interface ITableViewRepository extends CrudRepository<TableView, Integer>{
答案 0 :(得分:1)
您可以在private gridEvent(event) {
let methodName = Object.keys(event)[0];
if(this[methodName]) {
// method exists in the component
let param = event[methodName];
this[methodName](param); // call it
}
}
。
一个用于从您的对象
返回{ methodName: 'method1', methodParam: someValue }
和private gridEvent(event) {
let methodName = event.methodName;
if(this[methodName]) {
// method exists on the component
let param = event.methodParam;
this[methodName](param); // call it
}
}
TableViewRepository
之后,只需使用id
title
调用方法@Query("SELECT tv.id, tv.title FROM TableView tv")
TableView findWithTitles();
即可返回整个对象。