Ich verwende spring-data-Repositories - sehr praktisch, aber ich hatte ein Problem. Ich kann leicht ganze Einheit zu aktualisieren, aber ich glaube, dass es sinnlos ist, wenn ich nur ein einziges Feld zu aktualisieren:Einzelfeld mit Federdaten aktualisieren 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;
zu aktualisieren Ich Methode speichern rufen Sie einfach an. In log sehe ich die 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
Ich möchte etwas, was so sehen:
batching 1 statements: 1: update processors.ear_attachment set status=2 where id=1
Spring Repositorys viele Einrichtungen haben, etwas mit Namenskonventionen wählen vielleicht ist es etwas ähnliches für das Update wie updateForStatus (int status);
Danke, arbeite jetzt, aber ich frage mich, ob es besser ist als mit entityManager.creatQuery (..)? Ich bin auf der Suche nach etwas Typ sicher –
@ DmitriiBorovoi Dies wird auch 'em.createQuery' aufrufen, wenn ich mich richtig erinnere, so ist das Gleiche. Wenn Sie möchten, dass etwas sicher ist, müssen Sie wissen, welche Attribute geändert wurden, um die Abfrage zu erstellen. Danach können Sie das benutzerdefinierte Repository verwenden, um die Abfrage auszuführen (http://docs.spring.io/spring-data/data-jpa/docs/current/reference/html/#repositories.custom-implementations). –