Dove inserire le annotazioni JPA? Field, o getter?

4
  1. versione nel campo:

    @Column(name = "SAMPLE_STRING")  
    private String sampleString;
    
    public String getSampleString(){  
      return sampleString;  
    }
    
  2. versione in getter:

    private String sampleString;
    
    @Column(name = "SAMPLE_STRING")  
    public String getSampleString(){  
      return sampleString;  
    }  
    

Sembra che entrambi stiano funzionando bene, ci sono dei motivi per non usarne uno, o solo una buona pratica perché preferirei uno di loro? Qualcuno di loro è più sicuro / migliore / desiderabile?

    
posta CsBalazsHungary 09.10.2014 - 10:25
fonte

1 risposta

5

Tratto da link , se si applica l'annotazione al campo, il provider jpa imposta direttamente il campo. Se si annota il getter, il provider JPA utilizza i metodi accessor.

Vedi il capitolo 2.3.1 della specifica qui .

Preferisco l'accesso al campo per un paio di motivi:
- Non è necessario fornire getter e setter per tutte le proprietà, quindi questo effettivamente migliora l'incapsulamento.
- Preferisco avere le informazioni raggruppate all'inizio di una classe sui campi perché penso che sia più leggibile

    
risposta data 09.10.2014 - 10:34
fonte

Leggi altre domande sui tag