Skip to content

Commit c81b802

Browse files
committed
use isBlank() instead of isEmpty() to better handle annotation values
1 parent 4fd4e37 commit c81b802

File tree

2 files changed

+20
-20
lines changed

2 files changed

+20
-20
lines changed

hibernate-core/src/main/java/org/hibernate/boot/model/internal/AnnotatedJoinColumn.java

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -176,12 +176,12 @@ public void applyJoinAnnotation(JoinColumn joinColumn, String defaultName) {
176176
setImplicit( false );
177177

178178
final String name = joinColumn.name();
179-
if ( !name.isEmpty() ) {
179+
if ( !name.isBlank() ) {
180180
setLogicalColumnName( name );
181181
}
182182

183183
final String columnDefinition = joinColumn.columnDefinition();
184-
if ( !columnDefinition.isEmpty() ) {
184+
if ( !columnDefinition.isBlank() ) {
185185
setSqlType( getBuildingContext().getObjectNameNormalizer().applyGlobalQuoting( columnDefinition ) );
186186
}
187187

@@ -194,7 +194,7 @@ public void applyJoinAnnotation(JoinColumn joinColumn, String defaultName) {
194194
setOptions( joinColumn.options() );
195195

196196
final String table = joinColumn.table();
197-
if ( table.isEmpty() ) {
197+
if ( table.isBlank() ) {
198198
setExplicitTableName( "" );
199199
}
200200
else {
@@ -248,11 +248,10 @@ private static AnnotatedJoinColumn buildExplicitInheritanceJoinColumn(
248248
}
249249

250250
final ObjectNameNormalizer normalizer = context.getObjectNameNormalizer();
251-
final String columnDef = columnDefinition.isEmpty() ? null
252-
: normalizer.toDatabaseIdentifierText( columnDefinition );
253-
final String logicalColumnName = columnName.isEmpty()
254-
? normalizer.normalizeIdentifierQuotingAsString( defaultColumnName )
255-
: normalizer.normalizeIdentifierQuotingAsString( columnName );
251+
final String columnDef =
252+
columnDefinition.isBlank() ? null : normalizer.toDatabaseIdentifierText( columnDefinition );
253+
final String logicalColumnName =
254+
normalizer.normalizeIdentifierQuotingAsString( columnName.isBlank() ? defaultColumnName : columnName );
256255
final AnnotatedJoinColumn column = new AnnotatedJoinColumn();
257256
column.setSqlType( columnDef );
258257
column.setLogicalColumnName( logicalColumnName );
@@ -321,8 +320,9 @@ public void linkValueUsingDefaultColumnNaming(
321320
Column referencedColumn,
322321
PersistentClass referencedEntity,
323322
SimpleValue value) {
324-
final String logicalReferencedColumn = getBuildingContext().getMetadataCollector()
325-
.getLogicalColumnName( referencedEntity.getTable(), referencedColumn.getQuotedName() );
323+
final String logicalReferencedColumn =
324+
getBuildingContext().getMetadataCollector()
325+
.getLogicalColumnName( referencedEntity.getTable(), referencedColumn.getQuotedName() );
326326
final String columnName = defaultColumnName( columnIndex, referencedEntity, logicalReferencedColumn );
327327
//yuk side effect on an implicit column
328328
setLogicalColumnName( columnName );
@@ -411,11 +411,10 @@ protected void addColumnBinding(SimpleValue value) {
411411
? unquotedLogColName
412412
: getParent().getPropertyName() + '_' + unquotedRefColumn;
413413
final InFlightMetadataCollector collector = getBuildingContext().getMetadataCollector();
414-
final String logicalCollectionColumnName = collector.getDatabase()
415-
.getJdbcEnvironment()
416-
.getIdentifierHelper()
417-
.toIdentifier( collectionColName, isLogicalColumnQuoted )
418-
.render();
414+
final String logicalCollectionColumnName =
415+
collector.getDatabase().getJdbcEnvironment().getIdentifierHelper()
416+
.toIdentifier( collectionColName, isLogicalColumnQuoted )
417+
.render();
419418
collector.addColumnNameBinding( value.getTable(), logicalCollectionColumnName, getMappingColumn() );
420419
}
421420
}

hibernate-core/src/main/java/org/hibernate/boot/model/internal/AnnotatedJoinColumns.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@
4545

4646
import static org.hibernate.boot.model.internal.BinderHelper.findReferencedColumnOwner;
4747
import static org.hibernate.boot.model.internal.BinderHelper.getRelativePath;
48-
import static org.hibernate.internal.util.StringHelper.isNotEmpty;
48+
import static org.hibernate.internal.util.StringHelper.isBlank;
49+
import static org.hibernate.internal.util.StringHelper.isNotBlank;
4950
import static org.hibernate.internal.util.StringHelper.isQuoted;
5051
import static org.hibernate.internal.util.StringHelper.nullIfEmpty;
5152
import static org.hibernate.internal.util.StringHelper.qualify;
@@ -94,7 +95,7 @@ public static AnnotatedJoinColumns buildJoinColumnsOrFormulas(
9495
final JoinFormula formula = columnOrFormula.formula();
9596
final JoinColumn column = columnOrFormula.column();
9697
final String annotationString = formula.value();
97-
if ( isNotEmpty( annotationString ) ) {
98+
if ( isNotBlank( annotationString ) ) {
9899
AnnotatedJoinColumn.buildJoinFormula( formula, parent );
99100
}
100101
else {
@@ -114,8 +115,8 @@ private static void handlePropertyRef(MemberDetails attributeMember, AnnotatedJo
114115
}
115116

116117
final String referencedPropertyName = propertyRefUsage.value();
117-
if ( StringHelper.isEmpty( referencedPropertyName ) ) {
118-
throw new AnnotationException( "@PropertyRef did not specify target attribute name : " + attributeMember );
118+
if ( isBlank( referencedPropertyName ) ) {
119+
throw new AnnotationException( "@PropertyRef did not specify target attribute name: " + attributeMember );
119120
}
120121
parent.referencedProperty = referencedPropertyName;
121122
}
@@ -165,7 +166,7 @@ public static AnnotatedJoinColumns buildJoinColumnsWithDefaultColumnSuffix(
165166
PropertyData inferredData,
166167
String defaultColumnSuffix,
167168
MetadataBuildingContext context) {
168-
assert mappedBy == null || !mappedBy.isEmpty();
169+
assert mappedBy == null || !mappedBy.isBlank();
169170
final String propertyName = inferredData.getPropertyName();
170171
final String path = qualify( propertyHolder.getPath(), propertyName );
171172
final JoinColumn[] overrides = propertyHolder.getOverriddenJoinColumn( path );

0 commit comments

Comments
 (0)