2011-02-01 26 views

cevap

22

Elbette! Benim deneyimimden harika çalışıyor. İşte bir örnek varlık olduğunu:

@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

, her alanda alıcı ve ayarlayıcı koymak gerekmez . Sen lombok ToString sonsuz döngü yapacaktır çünkü aynı zamanda, (içinde = { "id"}) –

+11

@RoelSpilker Evet EqualsAndHashcode belirtmek ancak OneToMany ve ManyToOne sahip varlıklarla dikkatli olmak isteyebilirsiniz. – qwertzguy

+1

Aradığım tek şey, bu varlıklardan biri için sonsuz bir döngü vardı ve bir stackoverflowerror neden oldu. Bahşiş için teşekkürler! –

8

Sen @Data ile de kullanabilirsiniz (ve o inşaat!) Eğer Verileri kullanırsanız

@Entity 
@Data 
public class Customer { 

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

} 
+3

@Data ek açıklamaları ve hazırda bekletme sorunlarım vardı. İlk probl, hashCode() tarafından oluşturulan yöntemle hazırda bekletildi. Durum modelindeki toString() yöntemiyle diğeri, Listeler veya Kümeleri içerir. Sadece #Setter #Getter şu ana kadar çok iyi. #ToString yalnızca model sadece düz veri alanlarını kaplarsa – ekitru

İlgili konular