# Hibernate: Validator Framework?



## DarthShader (24. Oktober 2007)

Hallo zusammen,

Hibernate bietet ja mit seinem Validator Framework eine Funktionalität, um Objekte vor dem Persistieren auf bestimmte Einschränkungen (z.B. Textlänge, oder Zahlenbereiche etc...) hin zu testen.

Diese Einschränkungen müsste man an jeden Member der Klasse per Annotations setzen, z.B.:


```
@Range(min = -2, max = 50, message = "Floor out of range")
public int floor;
```

Ich frage mich jedoch gerade - wann schlägt denn der Validator zu? Wenn ich versuche, ein Objekt zu persistieren? Aber dann würde Hibernate ja trotzdem eine Exception werfen (oder vielmehr der JDBC Treiber), wenn z.B. der String "Hallo" in ein VARCHAR(3) eingetragen werden soll, was ja nicht geht.
Diese Exception könnte ich abfangen und darauf reagieren - oder ist das Validator Framework da illeganter? Wo liegt der praktische Unterschied?


Danke für Eure Hilfe!


----------



## Thomas Darimont (24. Oktober 2007)

Hallo,

schau mal hier:
http://www.ibm.com/developerworks/java/library/j-hibval.html

AFAIK verwendet das Hibernate Validation Framework entsprechende Interceptors um die zu persistierenden Entitäten auf Gültigkeit zu überprüfen und zwar BEVOR auf die Datenbank zugegriffen wird. Dadurch kann die Validierung viel schneller erfolgen (beispielsweise bei großen Bulk / Batch Inserts/Updates) als wenn das erst auf der Datenbank-Seite geschehen würde.

Gruß Tom


----------

