Класс org.hibernate.mapping.PrimaryKey выполняет следующие действия:
public String sqlConstraintString(Dialect dialect) {
StringBuilder buf = new StringBuilder("primary key (");
Iterator iter = getColumnIterator();
while ( iter.hasNext() ) {
buf.append( ( (Column) iter.next() ).getQuotedName(dialect) );
if ( iter.hasNext() ) {
buf.append(", ");
}
}
return buf.append(')').toString();
}
Решением было бы переопределить этот метод и вернуть строку, начинающуюся с «ограничения первичного ключа YOUR_CONSTRAINT_NAME», чтобы сделать это возможным. К сожалению, это невозможно переопределить.