@@ -33,7 +33,7 @@ static Class<? extends CompositeUserType<?>> resolveTimeZoneStorageCompositeUser
3333 ClassDetails returnedClass ,
3434 MetadataBuildingContext context ) {
3535 if ( useColumnForTimeZoneStorage ( attributeMember , context ) ) {
36- String returnedClassName = returnedClass .getName ();
36+ final String returnedClassName = returnedClass .getName ();
3737 if ( OFFSET_DATETIME_CLASS .equals ( returnedClassName ) ) {
3838 return OffsetDateTimeCompositeUserType .class ;
3939 }
@@ -49,24 +49,20 @@ else if ( OFFSET_TIME_CLASS.equals( returnedClassName ) ) {
4949
5050 private static boolean isTemporalWithTimeZoneClass (String returnedClassName ) {
5151 return OFFSET_DATETIME_CLASS .equals ( returnedClassName )
52- || ZONED_DATETIME_CLASS .equals ( returnedClassName )
53- || isOffsetTimeClass ( returnedClassName );
52+ || ZONED_DATETIME_CLASS .equals ( returnedClassName )
53+ || isOffsetTimeClass ( returnedClassName );
5454 }
5555
5656 public static boolean isOffsetTimeClass (AnnotationTarget element ) {
57- if ( element instanceof MemberDetails memberDetails ) {
58- return isOffsetTimeClass ( memberDetails );
59- }
60- return false ;
57+ return element instanceof MemberDetails memberDetails
58+ && isOffsetTimeClass ( memberDetails );
6159 }
6260
6361 public static boolean isOffsetTimeClass (MemberDetails element ) {
6462 final TypeDetails type = element .getType ();
65- if ( type == null ) {
66- return false ;
67- }
63+ return type != null
64+ && isOffsetTimeClass ( type .determineRawClass ().getClassName () );
6865
69- return isOffsetTimeClass ( type .determineRawClass ().getClassName () );
7066 }
7167
7268 private static boolean isOffsetTimeClass (String returnedClassName ) {
@@ -76,14 +72,10 @@ private static boolean isOffsetTimeClass(String returnedClassName) {
7672 static boolean useColumnForTimeZoneStorage (AnnotationTarget element , MetadataBuildingContext context ) {
7773 final TimeZoneStorage timeZoneStorage = element .getDirectAnnotationUsage ( TimeZoneStorage .class );
7874 if ( timeZoneStorage == null ) {
79- if ( element instanceof MemberDetails attributeMember ) {
80- return isTemporalWithTimeZoneClass ( attributeMember .getType ().getName () )
81- //no @TimeZoneStorage annotation, so we need to use the default storage strategy
82- && context .getBuildingOptions ().getDefaultTimeZoneStorage () == COLUMN ;
83- }
84- else {
85- return false ;
86- }
75+ return element instanceof MemberDetails attributeMember
76+ && isTemporalWithTimeZoneClass ( attributeMember .getType ().getName () )
77+ //no @TimeZoneStorage annotation, so we need to use the default storage strategy
78+ && context .getBuildingOptions ().getDefaultTimeZoneStorage () == COLUMN ;
8779 }
8880 else {
8981 return switch ( timeZoneStorage .value () ) {
0 commit comments