List of usage examples for org.hibernate.mapping Table getIndexIterator
public Iterator<Index> getIndexIterator()
From source file:com.tomitribe.reveng.codegen.FreemarkerObject.java
License:Apache License
public String annotate(final BasicPOJOClass pojo, final Object pObj, final Object rootObj, final Object toolObj) { // public String annotate(final Object pojo, final Property p, final // RootClass root, final Cfg2HbmTool tool) { if (BasicPOJOClass.class.isInstance(pojo)) { } else {// w w w.ja va 2 s. c om // System.out.println(ob.class.getName()); } RootClass root = null; try { root = (RootClass) rootObj; } catch (final Exception e) { // TODO Auto-generated catch block // e.printStackTrace(); return ""; } final Property p = (Property) pObj; final Cfg2HbmTool tool = (Cfg2HbmTool) toolObj; final Table table = root.getTable(); Iterator it = table.getColumnIterator(); Column column = null; Column c; String name; while (it.hasNext()) { c = (Column) it.next(); name = c.getName().replace("_", "").toLowerCase(); if (name.equals(p.getName().toLowerCase())) { column = c; break; } } if (null != column) { System.out.print("FreemarkerObject.annotate: " + table.getName() + " - " + p.getName() + " - "); it = table.getIndexIterator(); org.hibernate.mapping.Index index; while (it.hasNext()) { final Object next = it.next(); if (org.hibernate.mapping.Index.class.isInstance(next)) { index = org.hibernate.mapping.Index.class.cast(next); if (index.containsColumn(column)) { System.out.print(index.getName()); return String.format("\n@Index(name = \"%1$s\", columnNames = {\"%2$s\"})", index.getName().toLowerCase(), column.getName()); } } } System.out.println(); } else { System.out.println("FreemarkerObject.annotate: " + table.getName() + " - " + p.getName() + " - " + p.getNodeName() + " - " + p.getPropertyAccessorName()); } return ""; }
From source file:com.vecna.dbDiff.hibernate.HibernateMappingsConverter.java
License:Apache License
/** * Convert a Hibernate table model to the DbDiff table model. * @param mappedTable hibernate table.//w w w. j a va 2s. c o m * @return DbDiff table. */ private RelationalTable convertTable(org.hibernate.mapping.Table mappedTable) { RelationalTable table = new RelationalTable(m_catalogSchema, getTableName(mappedTable)); List<Column> columns = new ArrayList<>(); List<RelationalIndex> indices = new ArrayList<>(); @SuppressWarnings("unchecked") Iterator<org.hibernate.mapping.Column> mappedColumns = mappedTable.getColumnIterator(); int idx = 1; while (mappedColumns.hasNext()) { org.hibernate.mapping.Column mappedColumn = mappedColumns.next(); Column column = convertColumn(mappedColumn, mappedTable, idx++); columns.add(column); if (mappedColumn.isUnique()) { indices.add(getUniqueIndex(table, column)); } } table.setColumns(columns); Set<ForeignKey> fkeys = new HashSet<>(); @SuppressWarnings("unchecked") Iterator<org.hibernate.mapping.ForeignKey> mappedKeys = mappedTable.getForeignKeyIterator(); while (mappedKeys.hasNext()) { convertForeignKey(mappedKeys.next(), fkeys); } table.setFks(fkeys); @SuppressWarnings("unchecked") Iterator<Index> mappedIndices = mappedTable.getIndexIterator(); while (mappedIndices.hasNext()) { indices.add(convertIndex(mappedIndices.next(), table)); } @SuppressWarnings("unchecked") Iterator<UniqueKey> mappedUniqueKeys = mappedTable.getUniqueKeyIterator(); while (mappedUniqueKeys.hasNext()) { indices.add(convertIndex(mappedUniqueKeys.next(), table)); } if (mappedTable.getPrimaryKey() != null) { indices.add(convertIndex(mappedTable.getPrimaryKey(), table)); List<String> pkColumnNames = new ArrayList<>(); @SuppressWarnings("unchecked") Iterator<org.hibernate.mapping.Column> pkColumns = mappedTable.getPrimaryKey().getColumnIterator(); while (pkColumns.hasNext()) { pkColumnNames.add(getColumnName(pkColumns.next())); } table.setPkColumns(pkColumnNames); } table.setIndices(indices); return table; }
From source file:com.xpn.xwiki.store.migration.hibernate.R40000XWIKI6990DataMigration.java
License:Open Source License
/** * Create liquibase change log to modify the column type to BIGINT. * If the database is MSSQL, drop PK constraints and indexes during operation. * // w w w . j a v a 2 s . c o m * @param sb append the result into this string builder * @param table the table name * @param column the column name */ private void appendDataTypeChangeLog(StringBuilder sb, Table table, String column) { String tableName = table.getName(); sb.append(" <changeSet id=\"R").append(this.getVersion().getVersion()).append('-') .append(Util.getHash(String.format("modifyDataType-%s-%s", table, column))) .append("\" author=\"xwiki\">\n").append(" <comment>Upgrade identifier [").append(column) .append("] from table [").append(tableName).append("] to BIGINT type</comment >\n"); // MS-SQL require that primary key constraints and all indexes related to the changed column be dropped before // changing the column type. if (this.isMSSQL) { if (table.hasPrimaryKey()) { appendDropPrimaryKey(sb, table); } // We drop all index related to the table, this is overkill, but does not hurt for (@SuppressWarnings("unchecked") Iterator<Index> it = table.getIndexIterator(); it.hasNext();) { Index index = it.next(); appendDropIndex(sb, index); } } appendModifyColumn(sb, tableName, column); // Add back dropped PK constraints and indexes for MS-SQL if (this.isMSSQL) { if (table.hasPrimaryKey()) { appendAddPrimaryKey(sb, table); } for (@SuppressWarnings("unchecked") Iterator<Index> it = table.getIndexIterator(); it.hasNext();) { Index index = it.next(); appendAddIndex(sb, index); } } sb.append(" </changeSet>\n"); this.logCount++; }
From source file:org.apereo.portal.tools.dbloader.HibernateDbLoader.java
License:Apache License
/** Generate create scripts and add them to the script list */ @SuppressWarnings("unchecked") protected List<String> createScript(Collection<Table> tables, Dialect dialect, Mapping mapping, String defaultCatalog, String defaultSchema) { final List<String> script = new ArrayList<String>(tables.size() * 2); for (final Table table : tables) { if (table.isPhysicalTable()) { script.add(table.sqlCreateString(dialect, mapping, defaultCatalog, defaultSchema)); }/*from ww w.ja v a2s. c o m*/ } for (final Table table : tables) { if (table.isPhysicalTable()) { if (!dialect.supportsUniqueConstraintInCreateAlterTable()) { for (final Iterator<UniqueKey> subIter = table.getUniqueKeyIterator(); subIter.hasNext();) { final UniqueKey uk = subIter.next(); final String constraintString = uk.sqlCreateString(dialect, mapping, defaultCatalog, defaultSchema); if (constraintString != null) { script.add(constraintString); } } } for (final Iterator<Index> subIter = table.getIndexIterator(); subIter.hasNext();) { final Index index = subIter.next(); script.add(index.sqlCreateString(dialect, mapping, defaultCatalog, defaultSchema)); } if (dialect.hasAlterTable()) { for (final Iterator<ForeignKey> subIter = table.getForeignKeyIterator(); subIter.hasNext();) { final ForeignKey fk = subIter.next(); if (fk.isPhysicalConstraint()) { script.add(fk.sqlCreateString(dialect, mapping, defaultCatalog, defaultSchema)); } } } } } return script; }
From source file:org.beangle.orm.hibernate.tool.DdlGenerator.java
License:Open Source License
@SuppressWarnings("unchecked") private void generateTableSql(Table table) { if (!table.isPhysicalTable()) return;/*from w w w .ja v a 2 s . co m*/ Iterator<String> commentIter = table.sqlCommentStrings(dialect, defaultCatalog, defaultSchema); while (commentIter.hasNext()) { comments.add(commentIter.next()); } if (processed.contains(table)) return; processed.add(table); tables.add(table.sqlCreateString(dialect, mapping, defaultCatalog, defaultSchema)); Iterator<UniqueKey> subIter = table.getUniqueKeyIterator(); while (subIter.hasNext()) { UniqueKey uk = subIter.next(); String constraintString = uk.sqlCreateString(dialect, mapping, defaultCatalog, defaultSchema); if (constraintString != null) constraints.add(constraintString); } Iterator<Index> idxIter = table.getIndexIterator(); while (idxIter.hasNext()) { final Index index = idxIter.next(); indexes.add(index.sqlCreateString(dialect, mapping, defaultCatalog, defaultSchema)); } if (dialect.hasAlterTable()) { Iterator<ForeignKey> fkIter = table.getForeignKeyIterator(); while (fkIter.hasNext()) { ForeignKey fk = fkIter.next(); if (fk.isPhysicalConstraint()) { constraints.add(fk.sqlCreateString(dialect, mapping, defaultCatalog, defaultSchema)); } } } }
From source file:org.codehaus.mojo.hibernate3.exporter.CustomHbm2DDLExporterMojo.java
License:Open Source License
private void processTableIndexNames(Table table) { if (table.isPhysicalTable()) { @SuppressWarnings("unchecked") Iterator<Index> subIter = table.getIndexIterator(); while (subIter.hasNext()) { // for each index that has no name, generate a unique name Index index = subIter.next(); if (index.getName().startsWith(GENERATE_INDEX_NAME_PREFIX)) { index.setName(gegenerateIndexName(table, index)); }//from w w w . ja v a 2 s. co m } } }