Skip to content

Commit 522824c

Browse files
committed
HHH-17460 - Ongoing JPA 32 work
HHH-17892 - Remove @Persister HHH-17893 - Remove MetadataContributor HHH-17894 - Remove AdditionalJaxbMappingProducer
1 parent 23b659d commit 522824c

29 files changed

+177
-722
lines changed

documentation/src/main/asciidoc/userguide/chapters/domain/entity.adoc

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -552,34 +552,3 @@ include::{example-dir-proxy}/concrete/AbstractConcreteProxyTest.java[tag=entity-
552552
include::{extrasdir}/entity/entity-concrete-proxy-reference.sql[]
553553
----
554554
====
555-
556-
[[entity-persister]]
557-
==== Define a custom entity persister
558-
559-
The https://docs.jboss.org/hibernate/orm/{majorMinorVersion}/javadocs/org/hibernate/annotations/Persister.html[`@Persister`] annotation is used to specify a custom entity or collection persister.
560-
561-
For entities, the custom persister must implement the https://docs.jboss.org/hibernate/orm/{majorMinorVersion}/javadocs/org/hibernate/persister/entity/EntityPersister.html[`EntityPersister`] interface.
562-
563-
For collections, the custom persister must implement the https://docs.jboss.org/hibernate/orm/{majorMinorVersion}/javadocs/org/hibernate/persister/collection/CollectionPersister.html[`CollectionPersister`] interface.
564-
565-
NOTE: Supplying a custom persister has been allowed historically, but has never been fully supported.
566-
Hibernate 6 provides better, alternative ways to accomplish the use cases for a custom persister. As
567-
of 6.2 `@Persister` has been formally deprecated.
568-
569-
570-
[[entity-persister-mapping]]
571-
.Entity persister mapping
572-
====
573-
[source,java]
574-
----
575-
include::{example-dir-persister}/Author.java[tag=entity-persister-mapping,indent=0]
576-
----
577-
578-
[source,java]
579-
----
580-
include::{example-dir-persister}/Book.java[tag=entity-persister-mapping,indent=0]
581-
----
582-
====
583-
584-
By providing your own `EntityPersister` and `CollectionPersister` implementations,
585-
you can control how entities and collections are persisted into the database.

hibernate-core/src/main/java/org/hibernate/boot/model/process/spi/MetadataBuildingProcess.java

Lines changed: 6 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -59,14 +59,13 @@
5959
import org.hibernate.boot.registry.StandardServiceRegistry;
6060
import org.hibernate.boot.registry.classloading.spi.ClassLoaderService;
6161
import org.hibernate.boot.registry.classloading.spi.ClassLoadingException;
62-
import org.hibernate.boot.spi.AdditionalJaxbMappingProducer;
6362
import org.hibernate.boot.spi.AdditionalMappingContributions;
6463
import org.hibernate.boot.spi.AdditionalMappingContributor;
6564
import org.hibernate.boot.spi.BootstrapContext;
65+
import org.hibernate.boot.spi.EffectiveMappingDefaults;
6666
import org.hibernate.boot.spi.InFlightMetadataCollector;
6767
import org.hibernate.boot.spi.MappingDefaults;
6868
import org.hibernate.boot.spi.MetadataBuildingOptions;
69-
import org.hibernate.boot.spi.MetadataContributor;
7069
import org.hibernate.boot.spi.MetadataImplementor;
7170
import org.hibernate.cfg.AvailableSettings;
7271
import org.hibernate.cfg.MetadataSourceType;
@@ -236,7 +235,6 @@ public static MetadataImplementor complete(
236235
);
237236

238237
processAdditionalMappingContributions( metadataCollector, options, classLoaderService, rootMetadataBuildingContext );
239-
processAdditionalJaxbMappingProducer( metadataCollector, options, jandexView, classLoaderService, rootMetadataBuildingContext );
240238

241239
applyExtraQueryImports( managedResources, metadataCollector );
242240

@@ -381,11 +379,6 @@ public void finishUp() {
381379

382380
processor.processResultSetMappings();
383381

384-
for ( MetadataContributor contributor : classLoaderService.loadJavaServices( MetadataContributor.class ) ) {
385-
log.tracef( "Calling MetadataContributor : %s", contributor );
386-
contributor.contribute( metadataCollector, jandexView );
387-
}
388-
389382
metadataCollector.processSecondPasses( rootMetadataBuildingContext );
390383

391384
// Make sure collections are fully bound before processing named queries as hbm result set mappings require it
@@ -759,6 +752,11 @@ public void contributeAuxiliaryDatabaseObject(AuxiliaryDatabaseObject auxiliaryD
759752
metadataCollector.addAuxiliaryDatabaseObject( auxiliaryDatabaseObject );
760753
}
761754

755+
@Override
756+
public EffectiveMappingDefaults getEffectiveMappingDefaults() {
757+
return rootMetadataBuildingContext.getEffectiveDefaults();
758+
}
759+
762760
public void complete() {
763761
// annotations / orm.xml
764762
if ( additionalEntityClasses != null || additionalClassDetails != null || additionalJaxbMappings != null ) {
@@ -781,51 +779,6 @@ public void complete() {
781779
}
782780
}
783781

784-
private static void processAdditionalJaxbMappingProducer(
785-
InFlightMetadataCollectorImpl metadataCollector,
786-
MetadataBuildingOptions options,
787-
IndexView jandexView,
788-
ClassLoaderService classLoaderService,
789-
MetadataBuildingContextRootImpl rootMetadataBuildingContext) {
790-
if ( options.isXmlMappingEnabled() ) {
791-
final Iterable<AdditionalJaxbMappingProducer> producers = classLoaderService.loadJavaServices( AdditionalJaxbMappingProducer.class );
792-
if ( producers != null ) {
793-
final EntityHierarchyBuilder hierarchyBuilder = new EntityHierarchyBuilder();
794-
final MappingBinder mappingBinder = new MappingBinder(
795-
classLoaderService,
796-
new MappingBinder.Options() {
797-
@Override
798-
public boolean validateMappings() {
799-
return false;
800-
}
801-
802-
@Override
803-
public boolean transformHbmMappings() {
804-
return false;
805-
}
806-
}
807-
);
808-
//noinspection deprecation
809-
for ( AdditionalJaxbMappingProducer producer : producers ) {
810-
log.tracef( "Calling AdditionalJaxbMappingProducer : %s", producer );
811-
Collection<MappingDocument> additionalMappings = producer.produceAdditionalMappings(
812-
metadataCollector,
813-
jandexView,
814-
mappingBinder,
815-
rootMetadataBuildingContext
816-
);
817-
for ( MappingDocument mappingDocument : additionalMappings ) {
818-
hierarchyBuilder.indexMappingDocument( mappingDocument );
819-
}
820-
}
821-
822-
ModelBinder binder = ModelBinder.prepare( rootMetadataBuildingContext );
823-
for ( EntityHierarchySourceImpl entityHierarchySource : hierarchyBuilder.buildHierarchies() ) {
824-
binder.bindEntityHierarchy( entityHierarchySource );
825-
}
826-
}
827-
}
828-
}
829782

830783
private static void applyExtraQueryImports(
831784
ManagedResources managedResources,

hibernate-core/src/main/java/org/hibernate/boot/models/HibernateAnnotations.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,6 @@ public interface HibernateAnnotations {
140140
AnnotationDescriptor<Parameter> PARAMETER = createOrmDescriptor( Parameter.class );
141141
AnnotationDescriptor<Parent> PARENT = createOrmDescriptor( Parent.class );
142142
AnnotationDescriptor<PartitionKey> PARTITION_KEY = createOrmDescriptor( PartitionKey.class );
143-
AnnotationDescriptor<Persister> PERSISTER = createOrmDescriptor( Persister.class );
144143
AnnotationDescriptor<Polymorphism> POLYMORPHISM = createOrmDescriptor( Polymorphism.class );
145144
AnnotationDescriptor<Proxy> PROXY = createOrmDescriptor( Proxy.class );
146145
AnnotationDescriptor<RowId> ROW_ID = createOrmDescriptor( RowId.class );

hibernate-core/src/main/java/org/hibernate/boot/spi/AdditionalJaxbMappingProducer.java

Lines changed: 0 additions & 28 deletions
This file was deleted.

hibernate-core/src/main/java/org/hibernate/boot/spi/AdditionalMappingContributions.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,4 +69,6 @@ public interface AdditionalMappingContributions {
6969
* Contribute a materialized AuxiliaryDatabaseObject
7070
*/
7171
void contributeAuxiliaryDatabaseObject(AuxiliaryDatabaseObject auxiliaryDatabaseObject);
72+
73+
EffectiveMappingDefaults getEffectiveMappingDefaults();
7274
}

hibernate-core/src/main/java/org/hibernate/boot/spi/MetadataContributor.java

Lines changed: 0 additions & 33 deletions
This file was deleted.

hibernate-core/src/test/java/org/hibernate/orm/test/annotations/persister/Card.java

Lines changed: 0 additions & 28 deletions
This file was deleted.

hibernate-core/src/test/java/org/hibernate/orm/test/annotations/persister/CollectionPersister.java

Lines changed: 0 additions & 26 deletions
This file was deleted.

hibernate-core/src/test/java/org/hibernate/orm/test/annotations/persister/Deck.java

Lines changed: 0 additions & 29 deletions
This file was deleted.

hibernate-core/src/test/java/org/hibernate/orm/test/annotations/persister/EntityPersister.java

Lines changed: 0 additions & 27 deletions
This file was deleted.

0 commit comments

Comments
 (0)