Chapter 6. Advanced Concepts

In the previous chapters, you learned about the basics of Hibernate. Hibernate is a feature-rich ORM framework, so a discussion of all its offerings would take reams of paper. However, there are a few features that are important for any developer working with Hibernate to understand. This chapter describes the features that are particularly useful if you are looking to get more out of your framework. The concepts discussed here will enable you to extend the framework to suit your application needs.

Hibernate Types

In our mapping files, we declared the mapping of an object’s property to a table column as property column="COLOR" name="color". However, how does Hibernate know the COLOR column is a VARCHAR and the color property is a String type?

Well, Hibernate uses Java’s reflection to find out the type of the property. Although this option of omitting the types works out fine, the preferred and recommended option is to set the types on the properties implicitly. Setting property column="COLOR" name="color" type="string" explicitly will easily give Hibernate the property’s type.

Did you notice that we declared the type of the color property as string but not String? The string type is neither a Java type nor a SQL type; in fact, it is Hibernate’s own type. Hibernate has extensive support for types, including built-in types such as string, boolean, and integer, as well as our own predefined custom types.

Entity and Value Types

Types are essentially categorized ...

Get Just Hibernate now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.