Używam Spring Boot (1.3.3.RELEASE) i Hibernate JPA w moim projekcie. Moja jednostka wygląda następująco:Jak pobrać tylko wybrane atrybuty jednostki przy użyciu Spring JPA?
@Data
@NoArgsConstructor
@Entity
@Table(name = "rule")
public class RuleVO {
@Id
@GeneratedValue
private Long id;
@Column(name = "name", length = 128, nullable = false, unique = true)
private String name;
@Column(name = "tag", length = 256)
private String tag;
@OneToMany(mappedBy = "rule", cascade = CascadeType.ALL, orphanRemoval = true)
private List<RuleOutputArticleVO> outputArticles;
@OneToMany(mappedBy = "rule", cascade = CascadeType.ALL, orphanRemoval = true)
private List<RuleInputArticleVO> inputArticles;
}
mój repozytorium wygląda następująco:
@Repository
public interface RuleRepository extends JpaRepository<RuleVO, Long> {
}
w niektórych przypadkach muszę sprowadzić tylko Numer ID i nazw atrybuty jednostki RuleVO. Jak mogę to osiągnąć? Zauważyłem, że powinna być wykonalna przy użyciu API Kryteriów i Prognozy, ale w jaki sposób? Z góry bardzo dziękuję. Vojtech
I nie można zrobić wszystko, co możesz zrobić, to Lazy obciążenie zbiory. Powiedziałbym, że nie ma korzyści z wydajności polegającej na selektywnym pobieraniu danych. –
Zobacz 19.1.7 https://docs.jboss.org/hibernate/orm/3.3/reference/en/html/performance.html, która zasadniczo stwierdza, że zgodnie z powyższym komentarzem w przypadku pól niereksploatacyjnych jest to możliwe ale marnujesz swój czas. –