Sto usando Spring Boot (1.3.3.RELEASE) e Hibernate JPA nel mio progetto. Il mio soggetto è simile al seguente:Come recuperare solo gli attributi selezionati di un'entità utilizzando 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;
}
mio repository è simile al seguente:
@Repository
public interface RuleRepository extends JpaRepository<RuleVO, Long> {
}
In alcuni casi ho bisogno di prendere solo id e nome attributi di soggetti RuleVO. Come posso raggiungere questo obiettivo? Ho trovato un avviso che dovrebbe essere possibile usando Criteria API e Proiezioni ma come? Molte grazie in anticipo. Vojtech
che non può essere fatto, tutto quello che puoi fare è carico pigro le collezioni. Direi che non vi è alcun vantaggio in termini di prestazioni nel ritrarre i dati in modo selettivo. –
Vedere 19.1.7 https://docs.jboss.org/hibernate/orm/3.3/reference/en/html/performance.html che afferma essenzialmente che, in linea con il commento sopra, per i campi non di raccolta è fattibile ma stai sprecando il tuo tempo. –