hibernate-core 4.1.10 introduced org.hibernate.dialect.unique.UniqueDelegate to handle creation of unique constraints. If you implement a custom UniqueDelegate (e.g. one that creates the unique constraints directly in the column or table definition, like earlier versions of hibernate did), the resulting DDL script may contain empty SQL statements, which most databases cannot handle.
This happens if the custom UniqueDelegate implementation returns an empty String on UniqueDelegate.applyUniquesOnAlter(UniqueKey) or UniqueDelegate.dropUniquesOnAlter(UniqueKey).
org.hibernate.metamodel.relational.UniqueKey should check the return values of that methods and return a String array of length 0 if the String is empty or null.