【发布时间】:2015-11-29 11:31:00
【问题描述】:
如何从以下类层次结构中仅选择特定字段?
@Entity
public class MyEntity {
@Id private Long id;
@ManyToOne
@JoinColumn(name="fk_person_id", foreignKey = @ForeignKey(name="fk_person"))
private Person person; //unidirectional
private String fieldA, fieldB, ..field M;
//many more fields and some clobs
}
@Entity
public class Person {
@Id private Long id;
private String firstname;
private String lastname;
}
interface MyEntityRepository extends CrudRepository<MyEntity, Long> {
List<MyEntity> findByIdAndPersonFirstnameAndPersonLastname(long id, String firstname, String lastname);
}
这很好用,只是性能很差,因为 MyEntity 和 Person 有一些我想防止在这种特定情况下被获取的字段和关联(例如 clob/texts)。
问题:我如何编写此查询来查找结果集,并且只获取绝对需要的字段(假设 id, fieldA, fieldB 来自 MyEntity?
【问题讨论】:
标签: java spring hibernate spring-data spring-data-jpa