2016-10-18 1 views
1

Ich habe diesen Fehler in meinem Eklipse-Editor Diese Klasse hat einen zusammengesetzten Primärschlüssel. Es muss eine ID-Klasse verwenden., aber die Klasse hat keine zusammengesetzten Primärschlüssel, weil die ID ein Long istJAVA: Diese Klasse hat einen zusammengesetzten Primärschlüssel. Es muss eine ID-Klasse verwenden

@SuppressWarnings("serial") 
    @Entity 
    @Table(name = "T_PRODUCT") 
    @SequenceGenerator(name = "seqPRODUCT", sequenceName = "SEQ_PRODUCT") 
    public class Product extends ItemBase implements java.io.Serializable { 

     @Id 
     private Long id; 


@Id 
    @Column(name = "ID", unique = true, nullable = false, precision = 38, scale = 0) 
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seqPRODUCT") 
    public Long getId() { 
     return this.id; 
    } 

    public void setId(Long id) { 
     this.id = id; 
    } 
    .. 
    } 
+1

Sie haben 2 ID Annotationen drin, denke ich? – pandaadb

+0

@pandaadb es war dies, bitte konvertieren, um zu antworten –

+0

Ist der Fehler beim Erstellen oder nur in Eclipse in-Editor-Validierung? Ich bin nur neugierig, weil ich dachte, Hibernate könnte es erkennen, wenn es auf dem Setter für das gleiche Feld ist, und nur eine Warnung ausgeben, um Eigenschaft (Getter/Setter) und Feldzugriff zu mischen. – coladict

Antwort

3

Hibernate ist sowohl Anmerkungen auf dem Grundstück und auf dem Getter-Verfahren zu sehen und geht daher davon aus, dass Sie einen zusammengesetzten Schlüssel verwenden .

Verwandte Themen