2016-07-17 6 views
0

ich eine übergeordnete Klasse für alle meine Einheiten wie das Erstellen von (Verlängert Spring AbstractPersistable):Benötigt ein mit JPA @version annotiertes Feld Getter und Setter?

public class AbstractOCIDEntity extends AbstractPersistable<Long> { 

/** 
* serialVersionUID 
*/ 
private static final long serialVersionUID = 6305700913094302357L; 

// =================================== 
// Concurrency 
// =================================== 

@Version 
private long version; 
} 

Ist die @version Eigenschaft benötigen Getter und Setter? Meine Tests gehen mit der Klasse so wie sie ist, aber ich möchte nur sicherstellen, dass sie solide ist.

TIA, Ole

+1

Nein Getter und Setter _needs_ Feld, ob es Version oder normale –

Antwort

1

Nein, wenn das Feld mit Anmerkungen versehen wird, Reflexion verwendet wird, zu erhalten und das Feld gesetzt.

Wenn Getter jedoch mit Anmerkungen versehen ist, wird das Feld von der Getter/Setter-Methode abgerufen/gesetzt. wenn Sie

+0

Als Follow-up ist, wenn Sie eigenschaftsbasierte Anmerkungen tun verwenden (auch bekannt als Getter mit Anmerkungen versehen), können Sie immer noch die Setter als Paket privat oder privat möchte den Zugriff darauf vom Benutzercode einschränken. Hibernate kümmert sich nicht um die Zugriffsbeschränkungen und kann sie trotzdem aufrufen. – Naros