2011-02-01 12 views

Respuesta

22

Sure! Funciona muy bien desde mi experiencia. Aquí está una entidad ejemplo:

@Entity 
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE) 
public class PingerEntity { 
    // ID 
    @Id 
    @Getter 
    @Setter 
    @GeneratedValue(strategy = GenerationType.AUTO) 
    private Long id; 


    // USER 
    @Getter 
    @Setter 
    @ManyToOne(fetch = FetchType.LAZY, optional = false) 
    private UserEntity user; 


    // URL 
    @Getter 
    @Setter 
    @Basic(optional = false) 
    private String url; 


    /** 
    * The number of seconds between checks 
    */ 
    @Getter 
    @Setter 
    @Basic(optional = false) 
    private int frequency; 


    @Getter 
    @Setter 
    @Basic(optional = false) 
    @Enumerated(EnumType.STRING) 
    public MonitorType monitorType; 
} 
+10

Si utiliza datos, usted no tiene que poner get y set para cada campo . También es posible que desee especificar EqualsAndHashcode (of = {"id"}) –

+11

@RoelSpilker Sí, pero tenga cuidado con las entidades que tienen OneToMany y ManyToOne, porque el ToString de lombok formará un bucle infinito. – qwertzguy

+1

Esa es la que estaba buscando, tenía un ciclo infinito para una de estas entidades y causó un stackoverflowerror. ¡Gracias por el consejo! –

8

Usted puede utilizar también con @Data (y funciona!)

@Entity 
@Data 
public class Customer { 

    @Id 
    @GeneratedValue(strategy = GenerationType.AUTO) 
    private long id; 
    private String firstName; 
    private String lastName; 

} 
+3

Tuve problemas con @Data annotation e hibernate. El primer problema fue con el método hashCode() generado, hibernación no pudo crear la titularidad. Otro método con toString() en el caso del modelo cantains Listas o conjuntos. Simplemente #Setter #Getter hasta ahora, todo bien. #ToString solo si el modelo conatins solo campos de datos simples – ekitru

Cuestiones relacionadas