@javax.persistence.TableGenerator

Extract of the annotation reference in the Hibernate Developer Guide by example
Extensive, easy-to-follow introduction to Hibernate 3 including complete working examples. Integration of Hibernate with other technologies like Spring, EJB3, Struts and JavaServer Faces (MyFaces) is explained.
It is available as PDF in English language.
A German paper book was published by the Galileo Verlag.
| 
			 @javax.persistence.TableGenerator(  | 
		
			 definiert einen Id Generator, der von der Annotation @GeneratedValue referenziert werden kann; Der Generator speichert den letzten Wert in einer Datebanktabelle.  | 
	
| 
			 name=�generatorName�,  | 
		
			 Name des Generators, der in der Annotation @GeneratedValue verwendet werden kann  | 
	
| 
			 table=�databaseTable�,  | 
		
			 Tabelle, in der der n�chste zu vergebene Wert der Id gespeichert wird  | 
	
| 
			 catalog=�databaseCatalog�,  | 
		
			 Datenbankkatalog der Tabelle (wird nur von manchen Datenbanken unterst�tzt)  | 
	
| 
			 schema=�schemaName�,  | 
		
			 Datenbankschema der Tabelle (wird nur von manchen Datenbanken unterst�tzt)  | 
	
| 
			 valueColumnName  | 
		
			 Tabellenspalte, in der der n�chste zu vergebene Wert der Id gespeichert wird  | 
	
| 
			 pkColumnValue  | 
		
			 Tabellenspalte, in der ein Schl�sselwert steht, der den n�chsten zu vergebene Wert identifiziert; Vorgabe: Name der Klasse  | 
	
| 
			 initialValue  | 
		
			 legt den Startwert der Id fest, Vorgabewert: 1  | 
	
| 
			 allocationSize  | 
		
			 Vorgabewert: 50, Der Generator erh�ht nicht für jeden neuen Datensatz den Wert der Id in der Tabelle, sondern erh�ht die Sequenz um die allocationSize und verteilt die Nummern. Erst wenn alle Nummern verteilt sind, wird die Sequenz wieder aufgerufen. Wenn man 50 Eintr�ge in die Datenbank schreibt spart man sich bei einer allocationSize von 50 daher 49 Mal das Erh�hen des Wertes. Das verbessert die Performance. Der Nachteil ist, dass die vergebenen Ids bei einem Neustart der Anwendung L�cken haben. Generatoren sollten laut EJB 3 Spec global sein, aber Hibernate h�lt sich mindestens bis zur Version 3.2 nicht an diese Festlegung.  | 
	
| 
			 uniqueConstraints={@UniqueConstraint(columnNames={"col_A, col_B"})}  | 
		
			 optional, erzeugt beim Erstellen der Tabelle einen Unique-Key-Constraint  | 
	
| 
			 )  | 
		
			 
			  | 
	
| 
			 @Id @TableGenerator(name = "puma_gen", table="primary_keys") @GeneratedValue(strategy = GenerationType.TABLE, generator = "puma_gen") private Integer id;  | 
	|