Utilizzo i repository di dati di primavera: cosa molto utile, ma ho riscontrato un problema. Sono facilmente in grado di aggiornare intera entità ma credo che sia inutile quando ho bisogno di aggiornare solo un singolo campo:Aggiornamento di un singolo campo utilizzando i dati di primavera jpa
@Entity
@Table(schema = "processors", name = "ear_attachment")
public class EARAttachment {
private Long id;
private String originalName;
private String uniqueName;//yyyy-mm-dd-GUID-originalName
private long size;
private EARAttachmentStatus status;
per aggiornare Ho appena chiamata al metodo Save. Nel registro vedo il followwing:
batching 1 statements: 1: update processors.ear_attachment set message_id=100,
original_name='40022530424.dat',
size=506,
status=2,
unique_name='2014-12-16-8cf74a74-e7f3-40d8-a1fb-393c2a806847-40022530424.dat'
where id=1
Vorrei vedere qualche cosa come questa:
batching 1 statements: 1: update processors.ear_attachment set status=2 where id=1
repository di Primavera hanno un sacco di strutture per selezionare qualcosa utilizzando le convenzioni di nome, forse c'è qualcosa di simile per aggiornamenti come updateForStatus (stato int);
Grazie, lavoro ora, ma mi chiedo se è meglio dell'utilizzo di entityManager.creatQuery (..)? Sto cercando qualcosa di sicuro –
@DmitriiBorovoi Questo chiamerà anche 'em.createQuery', se non ricordo male, così è il samething. Se vuoi che qualcosa digiti sicuro, avrai bisogno di un modo per sapere quali attributi sono stati modificati per creare la query. Successivamente, è possibile utilizzare il repository personalizzato per eseguire la query (http://docs.spring.io/spring-data/data-jpa/docs/current/reference/html/#repositories.custom-implementations). –