Actually, the EJB3 Proposed Final Draft spec (sec. 2.1.1) states that:
Quote:
It is required that the entity class follow the method conventions for a JavaBean when persistent properties
are used.
In this case, for every persistent property property of type T of the entity, there is a getter method, get-
Property, and setter method setProperty. For boolean properties, isProperty is an alternative name for
the getter method.
In other words, in order for a bean to define a property, both setter
and getter must be defined. It's not enough that only a get*() or is*() method exists.
Is this a case of Hibernate "relaxing" the definition of JavaBean property? If so, it should be made very clear as I'm sure lots of people would run into this issue.
It could also be that this interpretation of JavaBeans properties is used just while creating a schema from annotated classes, although I believe that the same metamodel is used at runtime too.