@Override public java.util.Collection<Table> collectTableMappings() { ArrayList<Table> tables = new ArrayList<>(); for ( Namespace namespace : database.getNamespaces() ) { tables.addAll( namespace.getTables() ); } return tables; }
@Override public java.util.Collection<Table> collectTableMappings() { ArrayList<Table> tables = new ArrayList<>(); for ( Namespace namespace : getDatabase().getNamespaces() ) { tables.addAll( namespace.getTables() ); } return tables; }
private void assertNoForeignKey(String foreignKeyName, String... columns) { Set<String> columnSet = new LinkedHashSet<>( Arrays.asList( columns ) ); for ( Namespace namespace : metadata().getDatabase().getNamespaces() ) { for ( org.hibernate.mapping.Table table : namespace.getTables() ) { Iterator<org.hibernate.mapping.ForeignKey> fkItr = table.getForeignKeyIterator(); while ( fkItr.hasNext() ) { org.hibernate.mapping.ForeignKey fk = fkItr.next(); assertFalse( "ForeignKey [" + foreignKeyName + "] defined and shouldn't have been.", foreignKeyName.equals( fk.getName() ) ); } } } }
public void performValidation( Metadata metadata, DatabaseInformation databaseInformation, ExecutionOptions options, Dialect dialect) { for ( Namespace namespace : metadata.getDatabase().getNamespaces() ) { if ( schemaFilter.includeNamespace( namespace ) ) { validateTables( metadata, databaseInformation, options, dialect, namespace ); } } for ( Namespace namespace : metadata.getDatabase().getNamespaces() ) { if ( schemaFilter.includeNamespace( namespace ) ) { for ( Sequence sequence : namespace.getSequences() ) { if ( schemaFilter.includeSequence( sequence ) ) { final SequenceInformation sequenceInformation = databaseInformation.getSequenceInformation( sequence.getName() ); validateSequence( sequence, sequenceInformation ); } } } } }
private void assertForeignKey(String foreignKeyName, String... columns) { Set<String> columnSet = new LinkedHashSet<>( Arrays.asList( columns ) ); for ( Namespace namespace : metadata().getDatabase().getNamespaces() ) { for ( org.hibernate.mapping.Table table : namespace.getTables() ) { Iterator<org.hibernate.mapping.ForeignKey> fkItr = table.getForeignKeyIterator(); while ( fkItr.hasNext() ) { org.hibernate.mapping.ForeignKey fk = fkItr.next(); if ( foreignKeyName.equals( fk.getName() ) ) { assertEquals( "ForeignKey column count not like expected", columnSet.size(), fk.getColumnSpan() ); List<String> columnNames = fk.getColumns().stream().map(Column::getName).collect(Collectors.toList()); assertTrue( "ForeignKey columns [" + columnNames + "] do not match expected columns [" + columnSet + "]", columnSet.containsAll( columnNames ) ); return; } } } } fail( "ForeignKey '" + foreignKeyName + "' could not be found!" ); }
@Test @TestForIssue(jiraKey = "HHH-12975") public void testMapsIdJoinColumnForeignKeyNoConstraint() { for ( Namespace namespace : metadata().getDatabase().getNamespaces() ) { for ( Table table : namespace.getTables() ) { if ( "Post".equals( table.getName() ) ) { assertEquals( 0, table.getForeignKeys().size() ); } } } }
@Test @TestForIssue(jiraKey = "HHH-12975") public void testPrimaryKeyJoinColumnForeignKeyNoConstraint() { for ( Namespace namespace : metadata().getDatabase().getNamespaces() ) { for ( Table table : namespace.getTables() ) { if ( "Car".equals( table.getName() ) ) { assertEquals( 0, table.getForeignKeys().size() ); } } } }
@Test public void testForeignKeyNameSetForMapsIdJoinColumn() { for ( Namespace namespace : metadata().getDatabase().getNamespaces() ) { for ( Table table : namespace.getTables() ) { if ( table.getName().equals( "Post" ) ) { Iterator<org.hibernate.mapping.ForeignKey> foreignKeyIterator = table.getForeignKeyIterator(); while ( foreignKeyIterator.hasNext() ) { org.hibernate.mapping.ForeignKey foreignKey = foreignKeyIterator.next(); if ( foreignKey.getColumn( 0 ).getName().equals( "PD_ID" ) ) { assertEquals( "FK_PD", foreignKey.getName() ); return; } } } } } fail( "Expected to find a Foreign Key mapped to column PD_ID but failed to locate it" ); } }
public void testConstraintNameLength() { int foundCount = 0; for ( Namespace namespace : metadata().getDatabase().getNamespaces() ) { for ( org.hibernate.mapping.Table table : namespace.getTables() ) { Iterator fkItr = table.getForeignKeyIterator();
@Test public void testIdentifierGeneratorExtendsIdentityGenerator() { final MetadataSources sources = new MetadataSources( serviceRegistry() ); sources.addAnnotatedClass( EntityBean.class ); final MetadataBuilder builder = sources.getMetadataBuilder(); final Metadata metadata = builder.build(); for ( final Namespace ns : metadata.getDatabase().getNamespaces() ) { for ( final org.hibernate.mapping.Table table : ns.getTables() ) { final KeyValue value = table.getIdentifierValue(); assertNotNull( "IdentifierValue was null", value ); assertTrue( value.isIdentityColumn( metadata.getIdentifierGeneratorFactory(), getDialect() ) ); } } Session s = openSession(); s.beginTransaction(); s.save( new EntityBean() ); s.getTransaction().commit(); s.close(); } }
for ( Namespace namespace : database.getNamespaces() ) { final NameSpaceTablesInformation nameSpaceTablesInformation = performTablesMigration( metadata, for ( Namespace namespace : database.getNamespaces() ) { if ( schemaFilter.includeNamespace( namespace ) ) { final NameSpaceTablesInformation nameSpaceTablesInformation = tablesInformation.get( namespace );
@Test @TestForIssue( jiraKey = "HHH-9936" ) public void testMultipleUsesOfDefaultSequenceName() { final MetadataImplementor metadata = (MetadataImplementor) new MetadataSources( ssr ) .addAnnotatedClass( Entity1.class ) .addAnnotatedClass( Entity2.class ) .buildMetadata(); metadata.validate(); assertEquals( 0, metadata.getDatabase().getAuxiliaryDatabaseObjects().size() ); int count = 0; for ( Namespace namespace : metadata.getDatabase().getNamespaces() ) { for ( Sequence sequence : namespace.getSequences() ) { count++; } } assertEquals( 1, count ); }
@Test @TestForIssue( jiraKey = "HHH-9936" ) public void testMultipleUsesOfExplicitSequenceName() { final MetadataImplementor metadata = (MetadataImplementor) new MetadataSources( ssr ) .addAnnotatedClass( Entity3.class ) .addAnnotatedClass( Entity4.class ) .buildMetadata(); metadata.validate(); assertEquals( 0, metadata.getDatabase().getAuxiliaryDatabaseObjects().size() ); int count = 0; for ( Namespace namespace : metadata.getDatabase().getNamespaces() ) { for ( Sequence sequence : namespace.getSequences() ) { count++; } } assertEquals( 1, count ); }
@Test public void testQualifiedNameSeparator() throws Exception { Namespace.Name namespaceName = new Namespace.Name( Identifier.toIdentifier( "DB1" ), Identifier.toIdentifier( "PUBLIC" ) ); String expectedName = null; for ( Namespace namespace : metadata().getDatabase().getNamespaces() ) { if ( !namespace.getName().equals( namespaceName ) ) { continue; } assertEquals( 1, namespace.getTables().size() ); expectedName = metadata().getDatabase().getJdbcEnvironment().getQualifiedObjectNameFormatter().format( namespace.getTables().iterator().next().getQualifiedTableName(), getDialect() ); } assertNotNull( expectedName ); SingleTableEntityPersister persister = (SingleTableEntityPersister) sessionFactory().getEntityPersister( Box.class.getName() ); assertEquals( expectedName, persister.getTableName() ); }
for ( Namespace namespace : database.getNamespaces() ) { for ( Namespace namespace : database.getNamespaces() ) { for ( Namespace namespace : database.getNamespaces() ) {
for ( Namespace namespace : database.getNamespaces() ) { Set<Identifier> exportedCatalogs = new HashSet<Identifier>(); for ( Namespace namespace : database.getNamespaces() ) {
final Set<String> exportIdentifierSet = new HashSet<>(); int namespaceSize = 0; for ( Namespace namespace : database.getNamespaces() ) { final SequenceStructure sequenceStructure = new SequenceStructure( ssr.getService( JdbcEnvironment.class ),
@Override public java.util.Collection<MappedTable> collectMappedTableMappings() { ArrayList<MappedTable> tables = new ArrayList<>(); for ( MappedNamespace namespace : database.getNamespaces() ) { tables.addAll( namespace.getTables() ); } return tables; }
@Test public void testDatabaseMetadata() { for(Namespace namespace : MetadataExtractorIntegrator.INSTANCE.getDatabase().getNamespaces()) { for( Table table : namespace.getTables()) { LOGGER.info( "Table {} has the following columns: {}", table, StreamSupport.stream( Spliterators.spliteratorUnknownSize( table.getColumnIterator(), Spliterator.ORDERED), false) .collect( Collectors.toList()) ); } } }
@Override public void integrate(Metadata metadata, SessionFactoryImplementor sessionFactory, SessionFactoryServiceRegistry serviceRegistry) { for (PersistentClass clazz : metadata.getEntityBindings()) { Class<?> entityClass = clazz.getMappedClass(); if (entityClass != null && entityClass.isAnnotationPresent(CTE.class)) { clazz.getTable().setSubselect("select * from " + clazz.getJpaEntityName()); } } serviceRegistry.locateServiceBinding(PersisterClassResolver.class).setService(new CustomPersisterClassResolver()); TableNameFormatter formatter = new NativeTableNameFormatter(sessionFactory.getJdbcServices().getJdbcEnvironment().getQualifiedObjectNameFormatter()); serviceRegistry.locateServiceBinding(Database.class).setService(new SimpleDatabase(getTableIterator(metadata.getDatabase().getNamespaces()), sessionFactory.getDialect(), formatter, metadata)); }