2009-07-31 6 views
15

Ein neues Projekt starten Ich möchte Hibernate Annotationen mit MySQL statt der Konfigurationsdateien, die ich bisher verwendet habe, verwenden. Und ich kann nicht das Äquivalent zu finden scheinen:Das Äquivalent von <generator class = "native"></generator> mit MySQL und Hibernate3 Annotationen

<id name="id" type="long" > 
     <generator class="native"></generator> 
    </id> 

ich versucht, mit:

@Id 
@GeneratedValue(strategy = GenerationType.IDENTITY, generator = "native") 
private long id; 

bekam aber:

org.hibernate.AnnotationException: Unknown Id.generator: native 

oder:

@Id 
@GeneratedValue(strategy = GenerationType.IDENTITY) 
private long id; 

Gib mir:

Hat jemand MySQL- und Hibernate3-Annotationen zum automatischen Generieren von IDs erfolgreich implementiert?

Antwort

11
@Id 
@GeneratedValue(strategy=GenerationType.AUTO) 
public Long getId() { 
    return id; 
} 

Dadurch kann Hibernate die geeignete Strategie basierend auf der zugrunde liegenden Datenbank auswählen.

+1

Für MySQL es eher eine Sequenztabelle führt als nativer ID Generation verwenden. –

-1

Versuchen Sie mit @GeneratedValue(strategy=GenerationType.AUTO). Das sollte die MySQL-Autonum-Funktionalität verwenden.

Verwandte Themen