È possibile? Non ho visto molte discussioni su di esso.Lombok con ibernazione
risposta
Non ho mai provato Lombok con Hibernate ma non vedo perché non dovrebbe funzionare. Inoltre, dai un'occhiata qui: http://groups.google.com/group/project-lombok/browse_thread/thread/294bd52d9d8695df/7bc6b0f343831af1?lnk=gst&q=hibernate#7bc6b0f343831af1
Inoltre, Lombok project release notes menziona Hibernate esplicitamente.
Sicuro! Funziona alla grande dalla mia esperienza. Ecco un esempio un'entità:
@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;
}
Si può usare anche con @Data (e funziona!)
@Entity
@Data
public class Customer {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
private String firstName;
private String lastName;
}
Ho avuto problemi con l'annotazione @Data e l'ibernazione. Il primo problema era con il metodo generato da hashCode(), l'ibernazione non riusciva a creare entitry. Altro con il metodo toString() nel caso in cui il modello possa contenere liste o insiemi. Just #Setter #Getter finora così buono. #ToString solo se il modello contiene solo campi di dati semplici – ekitru
Se si utilizzano dati, non c'è bisogno di mettere Getter e Setter su ogni campo . Potresti anche specificare EqualsAndHashcode (of = {"id"}) –
@RoelSpilker Sì, ma fai attenzione alle entità che hanno OneToMany e ManyToOne, perché il ToString di lombok creerà un ciclo infinito. – qwertzguy
Questo è quello che stavo cercando, ho avuto un ciclo infinito per una di queste entità e ha causato uno stackoverflowerror. Grazie per il consiglio! –