diff --git a/hibernate-core/src/main/java/org/hibernate/loader/DefaultEntityAliases.java b/hibernate-core/src/main/java/org/hibernate/loader/DefaultEntityAliases.java index a9d2c88254..3b8f33146b 100644 --- a/hibernate-core/src/main/java/org/hibernate/loader/DefaultEntityAliases.java +++ b/hibernate-core/src/main/java/org/hibernate/loader/DefaultEntityAliases.java @@ -42,18 +42,31 @@ public DefaultEntityAliases( Map userProvidedAliases, Loadable persister, String suffix) { - this.suffix = suffix.intern(); - this.userProvidedAliases = userProvidedAliases; + this( userProvidedAliases, persister, suffix, false ); + } + public DefaultEntityAliases(Loadable persister, String suffix) { + this( Collections.EMPTY_MAP, persister, suffix, true ); + } + + private DefaultEntityAliases( + Map userProvidedAliases, + Loadable persister, + String suffix, + boolean interns) { + if ( interns ) { + this.suffix = suffix.intern(); + this.rowIdAlias = (Loadable.ROWID_ALIAS + suffix).intern(); // TODO: not visible to the user! + } + else { + this.suffix = suffix; + this.rowIdAlias = (Loadable.ROWID_ALIAS + suffix); + } + this.userProvidedAliases = userProvidedAliases; suffixedKeyColumns = determineKeyAlias( persister, suffix ); suffixedPropertyColumns = determinePropertyAliases( persister ); suffixedDiscriminatorColumn = determineDiscriminatorAlias( persister, suffix ); suffixedVersionColumn = determineVersionAlias( persister ); - rowIdAlias = (Loadable.ROWID_ALIAS + suffix).intern(); // TODO: not visible to the user! - } - - public DefaultEntityAliases(Loadable persister, String suffix) { - this( Collections.EMPTY_MAP, persister, suffix ); } private String[] determineKeyAlias(Loadable persister, String suffix) {