Generated properties: In hibernate Generate properties are that kind of properties which have their values generated by the database and we know that the hibernate application needed to refresh objects that contain any properties for which the database was generating values. For making properties generated we do the application delegate this responsibility to hibernate. When hibernate issues an SQL INSERT OR UPDATE for any entity that has defined generated properties. if found the immediately issues a select after words to retrieve the generated values.
Properties marked as generated must additionally be non-insertable and non-updateable. It done in Only versions, timestamps, and simple properties, can be marked as generated.
never (the default): It shows the given property value is not generated within the database.
insert: It shows the given property value is generated on insert, but is not regenerated on subsequent updates. Properties like created-date fall into this category. Even though version and timestamp properties can be marked as generated, this option is not available.
always: In this property value is generated both on insert and on update.