Interface Scanner


public interface Scanner
Coordinates discovery of managed classes.
  • Method Summary

    Modifier and Type
    Method
    Description
    jpaScan(ArchiveDescriptor archiveDescriptor, org.hibernate.boot.jaxb.configuration.spi.JaxbPersistenceImpl.JaxbPersistenceUnitImpl jaxbUnit)
    Performs scanning using the expectations defined by the spec.
    scan(URL... boundaries)
    Performs scanning for a number of boundaries.
  • Method Details

    • scan

      ScanningResult scan(URL... boundaries)
      Performs scanning for a number of boundaries. This form used from HibernatePersistenceConfiguration.
      Parameters:
      boundaries - The boundaries for scanning.
    • jpaScan

      ScanningResult jpaScan(ArchiveDescriptor archiveDescriptor, org.hibernate.boot.jaxb.configuration.spi.JaxbPersistenceImpl.JaxbPersistenceUnitImpl jaxbUnit)

      Performs scanning using the expectations defined by the spec.

      var archiveDescriptor = factory.buildArchiveDescriptor(rootUrl);
      var persistenceXml = archiveDescriptor.findEntry("META-INF/persistence.xml");
      var stream = persistenceXmlEntry.getStreamAccess().accessInputStream();
      var persistenceXmlBinding = new ConfigurationBinder(...).bind(stream, ...);
      var jaxbPersistence = xmlBinding.getRoot();
      var jaxbPersistenceUnit = findUnit(jaxbPersistence, unitName);
      var scanResult = scanner.jpaScan(archiveDescriptor,jaxbPersistenceUnit);
      

      todo (jpa4) : ideally, consider something like:

      var scanning = ...;
      var archive = scanning.buildArchiveDescriptor(rootUrl);
      var jaxbPersistenceUnit = scanning.locatePersistenceUnit(archive, unitName);
      var scanResult = scanner.jpaScan(archiveDescriptor,jaxbPersistenceUnit);
      
      Parameters:
      archiveDescriptor - The persistence root
      jaxbUnit - The <persistence-unit/> to process.
      See Also: