How to do multiple column UniqueConstraint in hbm?
Use the properties
tag:
...
<properties name="uk1" unique="true">
<property name="username" .../>
<many-to-one name="client" .../>
</properties>
<properties name="uk2" unique="true">
<property name="email" .../>
<many-to-one name="client" update="false" insert="false" .../>
</properties>
...
Documentation extract :
The <properties> element allows the definition of a named, logical grouping of the properties of a class. The most important use of the construct is that it allows a combination of properties to be the target of a property-ref. It is also a convenient way to define a multi-column unique constraint.
All available options are described in the Hibernate documentation.
You can also do this:
<many-to-one name="client" unique-key="uk1,uk2" .../>
<property name="username" unique-key="uk1" .../>
<property name="email" unique-key="uk2" .../>
You do not need to use the tag in hbm . If you only want multiple unique constraints.