44 */
55package org .hibernate .boot .model .internal ;
66
7- import java .lang .annotation .Annotation ;
87import java .util .ArrayList ;
98import java .util .HashMap ;
109import java .util .List ;
2423import org .hibernate .boot .spi .MetadataBuildingContext ;
2524import org .hibernate .internal .CoreLogging ;
2625import org .hibernate .internal .util .StringHelper ;
27- import org .hibernate .internal .util .collections .CollectionHelper ;
2826import org .hibernate .models .spi .AnnotationTarget ;
2927import org .hibernate .models .spi .ClassDetails ;
3028import org .hibernate .models .spi .MemberDetails ;
3634
3735import jakarta .persistence .AssociationOverride ;
3836import jakarta .persistence .AttributeOverride ;
39- import jakarta .persistence .CheckConstraint ;
4037import jakarta .persistence .Column ;
4138import jakarta .persistence .Embeddable ;
4239import jakarta .persistence .Entity ;
4744
4845import static org .hibernate .boot .model .internal .TimeZoneStorageHelper .isOffsetTimeClass ;
4946import static org .hibernate .boot .model .internal .TimeZoneStorageHelper .useColumnForTimeZoneStorage ;
47+ import static org .hibernate .internal .util .StringHelper .isNotBlank ;
5048import static org .hibernate .internal .util .StringHelper .qualify ;
49+ import static org .hibernate .internal .util .collections .CollectionHelper .isEmpty ;
50+ import static org .hibernate .internal .util .collections .CollectionHelper .isNotEmpty ;
5151
5252/**
5353 * @author Emmanuel Bernard
@@ -153,10 +153,12 @@ public boolean isInIdClass() {
153153 if ( isInIdClass != null ) {
154154 return isInIdClass ;
155155 }
156- if ( parent != null ) {
156+ else if ( parent != null ) {
157157 return parent .isInIdClass ();
158158 }
159- return false ;
159+ else {
160+ return false ;
161+ }
160162 }
161163
162164 @ Override
@@ -441,13 +443,15 @@ private static Map<String, Column[]> buildColumnOverride(
441443 return result ;
442444 }
443445
444- final SourceModelBuildingContext sourceModelContext = context .getMetadataCollector ().getSourceModelBuildingContext ();
446+ final SourceModelBuildingContext sourceModelContext =
447+ context .getMetadataCollector ().getSourceModelBuildingContext ();
445448 final Map <String , List <Column >> columnOverrideMap = new HashMap <>();
446449
447- final AttributeOverride [] overrides = element .getRepeatedAnnotationUsages ( AttributeOverride .class , sourceModelContext );
448- if ( CollectionHelper .isNotEmpty ( overrides ) ) {
450+ final AttributeOverride [] overrides =
451+ element .getRepeatedAnnotationUsages ( AttributeOverride .class , sourceModelContext );
452+ if ( isNotEmpty ( overrides ) ) {
449453 for ( AttributeOverride depAttr : overrides ) {
450- final String qualifiedName = StringHelper . qualify ( path , depAttr .name () );
454+ final String qualifiedName = qualify ( path , depAttr .name () );
451455 final Column column = depAttr .column ();
452456
453457 if ( columnOverrideMap .containsKey ( qualifiedName ) ) {
@@ -529,7 +533,7 @@ private static Column createTemporalColumn(
529533 int secondPrecision ;
530534 final Column annotatedColumn = element .getDirectAnnotationUsage ( Column .class );
531535 if ( annotatedColumn != null ) {
532- if ( StringHelper . isNotEmpty ( annotatedColumn .name () ) ) {
536+ if ( isNotBlank ( annotatedColumn .name () ) ) {
533537 return annotatedColumn ;
534538 }
535539 precision = annotatedColumn .precision ();
@@ -564,7 +568,8 @@ public MetadataBuildingContext getBuildingContext() {
564568 )
565569 );
566570
567- final ColumnJpaAnnotation created = JpaAnnotations .COLUMN .createUsage ( context .getMetadataCollector ().getSourceModelBuildingContext () );
571+ final ColumnJpaAnnotation created =
572+ JpaAnnotations .COLUMN .createUsage ( context .getMetadataCollector ().getSourceModelBuildingContext () );
568573 if ( StringHelper .isNotEmpty ( implicitName .getText () ) ) {
569574 created .name ( implicitName .getText () );
570575 }
@@ -587,12 +592,8 @@ private static Map<String, ColumnTransformer> buildColumnTransformerOverride(Ann
587592 private static Map <String , JoinColumn []> buildJoinColumnOverride (AnnotationTarget element , String path , MetadataBuildingContext context ) {
588593 final Map <String , JoinColumn []> columnOverride = new HashMap <>();
589594 if ( element != null ) {
590- final AssociationOverride [] overrides = buildAssociationOverrides ( element , path , context );
591- for ( AssociationOverride override : overrides ) {
592- columnOverride .put (
593- qualify ( path , override .name () ),
594- override .joinColumns ()
595- );
595+ for ( AssociationOverride override : buildAssociationOverrides ( element , path , context ) ) {
596+ columnOverride .put ( qualify ( path , override .name () ), override .joinColumns () );
596597 }
597598 }
598599 return columnOverride ;
@@ -601,12 +602,8 @@ private static Map<String, JoinColumn[]> buildJoinColumnOverride(AnnotationTarge
601602 private static Map <String , ForeignKey > buildForeignKeyOverride (AnnotationTarget element , String path , MetadataBuildingContext context ) {
602603 final Map <String , ForeignKey > foreignKeyOverride = new HashMap <>();
603604 if ( element != null ) {
604- final AssociationOverride [] overrides = buildAssociationOverrides ( element , path , context );
605- for ( AssociationOverride override : overrides ) {
606- foreignKeyOverride .put (
607- qualify ( path , override .name () ),
608- override .foreignKey ()
609- );
605+ for ( AssociationOverride override : buildAssociationOverrides ( element , path , context ) ) {
606+ foreignKeyOverride .put ( qualify ( path , override .name () ), override .foreignKey () );
610607 }
611608 }
612609 return foreignKeyOverride ;
@@ -619,14 +616,9 @@ private static AssociationOverride[] buildAssociationOverrides(AnnotationTarget
619616 private static Map <String , JoinTable > buildJoinTableOverride (AnnotationTarget element , String path , MetadataBuildingContext context ) {
620617 final Map <String , JoinTable > result = new HashMap <>();
621618 if ( element != null ) {
622- final AssociationOverride [] overrides = buildAssociationOverrides ( element , path , context );
623- for ( AssociationOverride override : overrides ) {
624- final JoinColumn [] joinColumns = override .joinColumns ();
625- if ( CollectionHelper .isEmpty ( joinColumns ) ) {
626- result .put (
627- qualify ( path , override .name () ),
628- override .joinTable ()
629- );
619+ for ( AssociationOverride override : buildAssociationOverrides ( element , path , context ) ) {
620+ if ( isEmpty ( override .joinColumns () ) ) {
621+ result .put ( qualify ( path , override .name () ), override .joinTable () );
630622 }
631623 }
632624 }
@@ -637,113 +629,4 @@ private static Map<String, JoinTable> buildJoinTableOverride(AnnotationTarget el
637629 public void setParentProperty (String parentProperty ) {
638630 throw new AssertionFailure ( "Setting the parent property to a non component" );
639631 }
640-
641- private static class ColumnImpl implements Column {
642-
643- private final String name ;
644- private final boolean unique ;
645- private final boolean nullable ;
646- private final boolean insertable ;
647- private final boolean updatable ;
648- private final String columnDefinition ;
649- private final String table ;
650- private final int precision ;
651- private final int secondPrecision ;
652-
653- private ColumnImpl (
654- String name ,
655- boolean unique ,
656- boolean nullable ,
657- boolean insertable ,
658- boolean updatable ,
659- String columnDefinition ,
660- String table ,
661- int precision ,
662- int secondPrecision ) {
663- this .name = name ;
664- this .unique = unique ;
665- this .nullable = nullable ;
666- this .insertable = insertable ;
667- this .updatable = updatable ;
668- this .columnDefinition = columnDefinition ;
669- this .table = table ;
670- this .precision = precision ;
671- this .secondPrecision = secondPrecision ;
672- }
673-
674- @ Override
675- public String name () {
676- return name ;
677- }
678-
679- @ Override
680- public boolean unique () {
681- return unique ;
682- }
683-
684- @ Override
685- public boolean nullable () {
686- return nullable ;
687- }
688-
689- @ Override
690- public boolean insertable () {
691- return insertable ;
692- }
693-
694- @ Override
695- public boolean updatable () {
696- return updatable ;
697- }
698-
699- @ Override
700- public String columnDefinition () {
701- return columnDefinition ;
702- }
703-
704- @ Override
705- public String options () {
706- return "" ;
707- }
708-
709- @ Override
710- public String table () {
711- return table ;
712- }
713-
714- @ Override
715- public int length () {
716- return 255 ;
717- }
718-
719- @ Override
720- public int precision () {
721- return precision ;
722- }
723-
724- @ Override
725- public int scale () {
726- return 0 ;
727- }
728-
729- @ Override
730- public int secondPrecision () {
731- return secondPrecision ;
732- }
733-
734- @ Override
735- public CheckConstraint [] check () {
736- return new CheckConstraint [0 ];
737- }
738-
739- @ Override
740- public String comment () {
741- return "" ;
742- }
743-
744- @ Override
745- public Class <? extends Annotation > annotationType () {
746- return Column .class ;
747- }
748- }
749632}
0 commit comments