I have the following entity:
Now it all works good with Mysql and PostgreSQL but Oracle has this limit about 30 characters for columns, tables, indexes, foreign keys, etc. I tried specifying my own OraclePhysicalNamingStrategy and OracleImplicitNamingStrategy and the @UniqueConstraint's name is passed to my strategy so I can shrink it - BUT ONLY if I haven't specified explicit name.
The problem now is I have a platform with ~ 200 entities and relations where I have specified index names everywhere and I can't just delete them.
The same thing happens with @JoinColumn and @ForeignKey. As soon as I specify name for the foreign key it is no longer passed to the naming strategy so I cannot shrink it. But If I leave it like this:
then it is auto-generated and it is passed to the naming strategy where I can shrink it.
The discussion about this issue is here: