自定义项目界面,仅选择主表和引用实体的必填字段。
public interface SimpleProjection{
Long getId();
interface Location{
Long getId();
}
interface Address{
String getCity();
}
}
实体
@Entity
public class Simple{
@Id
private Long id;
@OneToOne
Location mainLocation;
@OneToOne
Location tempLocation;
}
@Entity
public class Location{
@Id
private Long id;
private String name;
//many more
}
Spring存储库
public interface SimpleRepository extends JpaRepository<Simple, Long> {
Optional<SimpleProjection> getById(Long id);
}
当我在存储库上调用getById()方法时,它将获取相关实体的所有列,而不是定义的所有实体。
请随意建议使用更好的投影方法,因为当我使用更简单的方法而不进行投影时,会获得200条左右的投影,这是我有很多相关实体的原因,这就是为什么我使用投影方法。