Skip to content

Commit 1319566

Browse files
committed
HHH-1904 Hash the natural id unique key names
1 parent 80c8d83 commit 1319566

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

hibernate-core/src/main/java/org/hibernate/cfg/AnnotationBinder.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@
155155
import org.hibernate.id.TableHiLoGenerator;
156156
import org.hibernate.id.enhanced.SequenceStyleGenerator;
157157
import org.hibernate.internal.CoreMessageLogger;
158+
import org.hibernate.internal.util.StringHelper;
158159
import org.hibernate.mapping.Any;
159160
import org.hibernate.mapping.Component;
160161
import org.hibernate.mapping.DependantValue;
@@ -2095,12 +2096,12 @@ else if ( !isId || !entityBinder.isIgnoreIdAnnotations() ) {
20952096
if ( naturalIdAnn != null ) {
20962097
if ( joinColumns != null ) {
20972098
for ( Ejb3Column column : joinColumns ) {
2098-
column.addUniqueKey( "_UniqueKey", inSecondPass );
2099+
column.addUniqueKey( StringHelper.randomFixedLengthHex("UK_"), inSecondPass );
20992100
}
21002101
}
21012102
else {
21022103
for ( Ejb3Column column : columns ) {
2103-
column.addUniqueKey( "_UniqueKey", inSecondPass );
2104+
column.addUniqueKey( StringHelper.randomFixedLengthHex("UK_"), inSecondPass );
21042105
}
21052106
}
21062107
}

hibernate-core/src/main/java/org/hibernate/cfg/HbmBinder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2248,7 +2248,7 @@ else if ( "filter".equals( name ) ) {
22482248
}
22492249
else if ( "natural-id".equals( name ) ) {
22502250
UniqueKey uk = new UniqueKey();
2251-
uk.setName("_UniqueKey");
2251+
uk.setName(StringHelper.randomFixedLengthHex("UK_"));
22522252
uk.setTable(table);
22532253
//by default, natural-ids are "immutable" (constant)
22542254
boolean mutableId = "true".equals( subnode.attributeValue("mutable") );

0 commit comments

Comments
 (0)