Il problema è il seguente:Conservare JPA un'entità con dato id oggetto campo al posto di oggetto stesso
Abbiamo entità:
@Entity
public class Feedback {
@Id
@GeneratedValue(generator="token")
private String id;
@ManyToOne
private Product product;
private String message;
// other fields
}
e abbiamo un endpoint del server, che riceve un feedback da parte dei clienti. commenti ricevuti in/formato basata su form multipart, con campi:
ProductId - product identifier
Message - feedback message
Some other fields
Per impostare Feedback.product abbiamo bisogno di caricare oggetti Prodotto da JPA - questo può richiedere molto tempo e crea le query inutili.
È possibile memorizzare l'entità, ma passare l'id del prodotto anziché l'oggetto del prodotto? Abbiamo bisogno di un modo per modificare la query INSERT.
Utilizziamo EclipseLink JPA con Spring e Vaadin.
Grazie. Come è possibile verificare se l'entità esiste? O per forzare getReference a lanciare un'eccezione, se non esiste un'entità con tale id? –
Usa trova. Ma poi avrai una query che vorresti evitare. –