public static Expression < ? > join ( String attribute , From < ? , ? > from ) { Expression < ? > path ; try { String [ ] properties = attribute . split ( "\\." ) ; if ( properties . length > 1 ) { path = joinRecursively ( properties , findOrCreateJoin ( properties [ 0 ] , from ) , 1 ) . get ( properties [ properties . length - 1 ] ) ; } else { path = from . get ( properties [ 0 ] ) ; } } catch ( IllegalArgumentException e ) { throw SeedException . wrap ( e , JpaErrorCode . UNABLE_TO_CREATE_JPA_JOIN_FOR_SPECIFICATION ) . put ( "property" , attribute ) ; } return path ; }
Create a new join or find an existing join on the specified attribute .