|
76 | 76 | import org.hibernate.boot.models.HibernateAnnotations;
|
77 | 77 | import org.hibernate.boot.models.JpaAnnotations;
|
78 | 78 | import org.hibernate.boot.models.XmlAnnotations;
|
79 |
| -import org.hibernate.boot.models.annotations.internal.AssociationOverrideJpaAnnotation; |
80 |
| -import org.hibernate.boot.models.annotations.internal.AssociationOverridesJpaAnnotation; |
81 |
| -import org.hibernate.boot.models.annotations.internal.AttributeOverrideJpaAnnotation; |
82 |
| -import org.hibernate.boot.models.annotations.internal.AttributeOverridesJpaAnnotation; |
83 |
| -import org.hibernate.boot.models.annotations.internal.CascadeAnnotation; |
84 |
| -import org.hibernate.boot.models.annotations.internal.CheckConstraintJpaAnnotation; |
85 |
| -import org.hibernate.boot.models.annotations.internal.CollectionClassificationXmlAnnotation; |
86 |
| -import org.hibernate.boot.models.annotations.internal.CollectionIdAnnotation; |
87 |
| -import org.hibernate.boot.models.annotations.internal.CollectionTypeAnnotation; |
88 |
| -import org.hibernate.boot.models.annotations.internal.ColumnJpaAnnotation; |
89 |
| -import org.hibernate.boot.models.annotations.internal.ColumnTransformerAnnotation; |
90 |
| -import org.hibernate.boot.models.annotations.internal.ConvertJpaAnnotation; |
91 |
| -import org.hibernate.boot.models.annotations.internal.ConvertsJpaAnnotation; |
92 |
| -import org.hibernate.boot.models.annotations.internal.DiscriminatorColumnJpaAnnotation; |
93 |
| -import org.hibernate.boot.models.annotations.internal.DiscriminatorFormulaAnnotation; |
94 |
| -import org.hibernate.boot.models.annotations.internal.DiscriminatorOptionsAnnotation; |
95 |
| -import org.hibernate.boot.models.annotations.internal.DiscriminatorValueJpaAnnotation; |
96 |
| -import org.hibernate.boot.models.annotations.internal.EntityJpaAnnotation; |
97 |
| -import org.hibernate.boot.models.annotations.internal.EntityListenersJpaAnnotation; |
98 |
| -import org.hibernate.boot.models.annotations.internal.EnumeratedJpaAnnotation; |
99 |
| -import org.hibernate.boot.models.annotations.internal.FilterAnnotation; |
100 |
| -import org.hibernate.boot.models.annotations.internal.FilterJoinTableAnnotation; |
101 |
| -import org.hibernate.boot.models.annotations.internal.FilterJoinTablesAnnotation; |
102 |
| -import org.hibernate.boot.models.annotations.internal.FiltersAnnotation; |
103 |
| -import org.hibernate.boot.models.annotations.internal.GeneratedValueJpaAnnotation; |
104 |
| -import org.hibernate.boot.models.annotations.internal.GenericGeneratorAnnotation; |
105 |
| -import org.hibernate.boot.models.annotations.internal.IdClassJpaAnnotation; |
106 |
| -import org.hibernate.boot.models.annotations.internal.IndexJpaAnnotation; |
107 |
| -import org.hibernate.boot.models.annotations.internal.InheritanceJpaAnnotation; |
108 |
| -import org.hibernate.boot.models.annotations.internal.JavaTypeAnnotation; |
109 |
| -import org.hibernate.boot.models.annotations.internal.JdbcTypeAnnotation; |
110 |
| -import org.hibernate.boot.models.annotations.internal.JdbcTypeCodeAnnotation; |
111 |
| -import org.hibernate.boot.models.annotations.internal.NaturalIdCacheAnnotation; |
112 |
| -import org.hibernate.boot.models.annotations.internal.NotFoundAnnotation; |
113 |
| -import org.hibernate.boot.models.annotations.internal.ParameterAnnotation; |
114 |
| -import org.hibernate.boot.models.annotations.internal.PrimaryKeyJoinColumnJpaAnnotation; |
115 |
| -import org.hibernate.boot.models.annotations.internal.PrimaryKeyJoinColumnsJpaAnnotation; |
116 |
| -import org.hibernate.boot.models.annotations.internal.RowIdAnnotation; |
117 |
| -import org.hibernate.boot.models.annotations.internal.SQLJoinTableRestrictionAnnotation; |
118 |
| -import org.hibernate.boot.models.annotations.internal.SQLRestrictionAnnotation; |
119 |
| -import org.hibernate.boot.models.annotations.internal.SecondaryRowAnnotation; |
120 |
| -import org.hibernate.boot.models.annotations.internal.SecondaryRowsAnnotation; |
121 |
| -import org.hibernate.boot.models.annotations.internal.SecondaryTableJpaAnnotation; |
122 |
| -import org.hibernate.boot.models.annotations.internal.SecondaryTablesJpaAnnotation; |
123 |
| -import org.hibernate.boot.models.annotations.internal.SequenceGeneratorJpaAnnotation; |
124 |
| -import org.hibernate.boot.models.annotations.internal.TableGeneratorJpaAnnotation; |
125 |
| -import org.hibernate.boot.models.annotations.internal.TableJpaAnnotation; |
126 |
| -import org.hibernate.boot.models.annotations.internal.TargetXmlAnnotation; |
127 |
| -import org.hibernate.boot.models.annotations.internal.TemporalJpaAnnotation; |
128 |
| -import org.hibernate.boot.models.annotations.internal.UniqueConstraintJpaAnnotation; |
129 |
| -import org.hibernate.boot.models.annotations.internal.UuidGeneratorAnnotation; |
| 79 | +import org.hibernate.boot.models.annotations.internal.*; |
130 | 80 | import org.hibernate.boot.models.annotations.spi.CustomSqlDetails;
|
131 | 81 | import org.hibernate.boot.models.annotations.spi.DatabaseObjectDetails;
|
132 | 82 | import org.hibernate.boot.models.JpaEventListenerStyle;
|
@@ -401,6 +351,23 @@ public static void applyCollectionId(
|
401 | 351 | if ( generator != null && isNotEmpty( generator.getGenerator() ) ) {
|
402 | 352 | collectionIdAnn.generator( generator.getGenerator() );
|
403 | 353 | }
|
| 354 | + |
| 355 | + if ( StringHelper.isNotEmpty( jaxbCollectionId.getTarget() ) ) { |
| 356 | + final SimpleTypeInterpretation simpleTypeInterpretation = SimpleTypeInterpretation.interpret( |
| 357 | + jaxbCollectionId.getTarget() |
| 358 | + ); |
| 359 | + assert simpleTypeInterpretation != null; |
| 360 | + |
| 361 | + final CollectionIdJavaClassAnnotation annotationUsage = (CollectionIdJavaClassAnnotation) memberDetails.applyAnnotationUsage( |
| 362 | + HibernateAnnotations.COLLECTION_ID_JAVA_CLASS, |
| 363 | + xmlDocumentContext.getModelBuildingContext() |
| 364 | + ); |
| 365 | + annotationUsage.idType( simpleTypeInterpretation.getJavaType() ); |
| 366 | + } |
| 367 | + else { |
| 368 | + // this will likely lead to an error later. |
| 369 | + // should we throw an exception here? |
| 370 | + } |
404 | 371 | }
|
405 | 372 |
|
406 | 373 | public static void applyCascading(
|
|
0 commit comments