| By "LoadAccess" I mean the concepts of IdentifierLoadAccess}], {{NaturalIdLoadAccess, etc By "Loader" I kind of mean legacy org.hibernate.loader.spi.Loader, but more adapted to 6.0 Conceptually the "LoadAccess" could be the API version of the "Loader" SPI. E.g.
interface Session ... {
IdentifierLoadAccess byId(String entityName);
<T> IdentifierLoadAccess<T> byId(Class<T> entityType);
}
class SessionImpl ... {
@Override
public SingleIdLoader byId(String entityName) {
return resolveEntityDescriptor( entityName ).getSingleIdLoader( this );
}
@Override
public <T> SingleIdLoader<T> byId(Class<T> entityType) {
return resolveEntityDescriptor( entityType ).getSingleIdLoader( this );
}
}
interface IdentifierLoadAccess<T> ... {
...
}
interface SingleIdLoader<T> extends IdentifierLoadAccess<T> ... {
...
}
Conceptually , LoadAccess (i.e., IdentifierLoadAccess}], {{NaturalIdLoadAccess, etc) are the API representation of "Loader" |