protected void createUniqueKeyLoaders() throws MappingException { Type[] propertyTypes = getPropertyTypes(); String[] propertyNames = getPropertyNames(); for ( int i = 0; i < entityMetamodel.getPropertySpan(); i++ ) { if ( propertyUniqueness[i] ) { //don't need filters for the static loaders uniqueKeyLoaders.put( propertyNames[i], createUniqueKeyLoader( propertyTypes[i], getPropertyColumnNames( i ), LoadQueryInfluencers.NONE ) ); //TODO: create uk loaders for component properties } } }
String[] props = subclassPersister.getPropertyNames(); String[] classes = subclassPersister.getPropertySubclassNames(); for ( int i = 0; i < props.length; i++ ) {
protected String concretePropertySelectFragment(String alias, InclusionChecker inclusionChecker) { int propertyCount = getPropertyNames().length; int[] propertyTableNumbers = getPropertyTableNumbersInSelect(); SelectFragment frag = new SelectFragment(); for ( int i = 0; i < propertyCount; i++ ) { if ( inclusionChecker.includeProperty( i ) ) { frag.addColumnTemplates( generateTableAlias( alias, propertyTableNumbers[i] ), propertyColumnReaderTemplates[i], propertyColumnAliases[i] ); frag.addFormulas( generateTableAlias( alias, propertyTableNumbers[i] ), propertyColumnFormulaTemplates[i], propertyColumnAliases[i] ); } } return frag.toFragmentString(); }
final String[] propNames = getPropertyNames(); final Type[] types = getPropertyTypes(); final Object[] values = new Object[types.length];
/** * エンティティの属性名の配列を作成します。 * * @return 属性名の配列 */ protected String[] createAttributeNames() { final String[] propertyNames = metadata.getPropertyNames(); final String[] attributeNames = new String[propertyNames.length + 1]; attributeNames[0] = metadata.getIdentifierPropertyName(); System.arraycopy(propertyNames, 0, attributeNames, 1, propertyNames.length); return attributeNames; }
private boolean isColumnShared(AbstractEntityPersister subclassPersister, String[] columnNames) { List<String> propertiesToCheck = new ArrayList<>(Arrays.asList(subclassPersister.getPropertyNames())); while (!propertiesToCheck.isEmpty()) { String propertyName = propertiesToCheck.remove(propertiesToCheck.size() - 1); Type propertyType = subclassPersister.getPropertyType(propertyName); if (propertyType instanceof ComponentType) { ComponentType componentType = (ComponentType) propertyType; for (String subPropertyName : componentType.getPropertyNames()) { propertiesToCheck.add(propertyName + "." + subPropertyName); } } else { String[] subclassColumnNames = subclassPersister.getSubclassPropertyColumnNames(propertyName); if (Arrays.deepEquals(columnNames, subclassColumnNames)) { return true; } } } return false; }
Class<?> entityClass = ...; String columnName = ...; EntityManager em = ...; final SessionFactoryImplementor sessionFactory = (SessionFactoryImplementor) ((Session) em.getDelegate()).getSessionFactory(); AbstractEntityPersister persister = (AbstractEntityPersister) sessionFactory.getClassMetadata(entityClass); for (String propertyName : persister.getPropertyNames()) { for (String propertyColumnName : persister.getPropertyColumnNames(propertyName)) { if (columnName.equalsIgnoreCase(propertyColumnName)) { return propertyName; } } }
private TableInfoDTO getTableInfo(AbstractEntityPersister persister) { TableInfoDTO tableInfoDTO = new TableInfoDTO(); String[] name = SqlUtil.replaceSingularSchemaName(persister.getTableName()).split("\\."); tableInfoDTO.setSchema(name[0]); tableInfoDTO.setTableName(name[1]); List<String> columns = new ArrayList<>(); String[] propertyNames = persister.getPropertyNames(); Arrays.asList(propertyNames).forEach(propertyName -> columns.add(persister.getPropertyColumnNames(propertyName)[0])); Arrays.asList(persister.getIdentifierColumnNames()).forEach(chave -> { if (!columns.contains(chave)) { columns.add(chave); } }); List<ColumnInfoDTO> columnsType = new ArrayList<>(); columns.forEach(col -> columnsType.add(new ColumnInfoDTO(col, true))); tableInfoDTO.setColumnsInfo(columnsType); return tableInfoDTO; }
private TableInfoDTO getTableInfo(AbstractEntityPersister persister) { TableInfoDTO tableInfoDTO = new TableInfoDTO(); String[] name = SqlUtil.replaceSingularSchemaName(persister.getTableName()).split("\\."); tableInfoDTO.setSchema(name[0]); tableInfoDTO.setTableName(name[1]); List<String> columns = new ArrayList<>(); String[] propertyNames = persister.getPropertyNames(); Arrays.asList(propertyNames).forEach(propertyName -> columns.add(persister.getPropertyColumnNames(propertyName)[0])); Arrays.asList(persister.getIdentifierColumnNames()).forEach(chave -> { if (!columns.contains(chave)) { columns.add(chave); } }); List<ColumnInfoDTO> columnsType = new ArrayList<>(); columns.forEach(col -> columnsType.add(new ColumnInfoDTO(col, true))); tableInfoDTO.setColumnsInfo(columnsType); return tableInfoDTO; }
.getClassMetadata(Document.class); String[] propNames = cm.getPropertyNames(); Set<String> mappedCols = new TreeSet<String>( String.CASE_INSENSITIVE_ORDER);
private TableInfoDTO getTableInfo(AbstractEntityPersister persister) { TableInfoDTO tableInfoDTO = new TableInfoDTO(); String[] name = SqlUtil.replaceSingularSchemaName(persister.getTableName()).split("\\."); tableInfoDTO.setSchema(name[0]); tableInfoDTO.setTableName(name[1]); List<String> columns = new ArrayList<>(); String[] propertyNames = persister.getPropertyNames(); Arrays.asList(propertyNames).forEach(propertyName -> columns.add(persister.getPropertyColumnNames(propertyName)[0])); Arrays.asList(persister.getIdentifierColumnNames()).forEach(chave -> { if (!columns.contains(chave)) { columns.add(chave); } }); List<ColumnInfoDTO> columnsType = new ArrayList<>(); columns.forEach(col -> columnsType.add(new ColumnInfoDTO(col, true))); tableInfoDTO.setColumnsInfo(columnsType); return tableInfoDTO; }
/** * エンティティの属性定義の配列を作成します。 * * @return 属性定義の配列 */ protected HibernateAttributeDesc[] createAttributeDescs() { final String idName = metadata.getIdentifierPropertyName(); final String[] propertyNames = metadata.getPropertyNames(); final int versionIndex = metadata.getVersionProperty(); final HibernateAttributeDesc[] attributeDescs = new HibernateAttributeDesc[propertyNames.length + 1]; attributeDescs[0] = new HibernateAttributeDesc(sessionFactory, metadata, idName, true, false); attributeDescMap.put(idName, attributeDescs[0]); for (int i = 0; i < propertyNames.length; ++i) { attributeDescs[i + 1] = new HibernateAttributeDesc(sessionFactory, metadata, propertyNames[i], false, i == versionIndex); attributeDescMap.put(propertyNames[i], attributeDescs[i + 1]); } return attributeDescs; }
protected void createUniqueKeyLoaders() throws MappingException { Type[] propertyTypes = getPropertyTypes(); String[] propertyNames = getPropertyNames(); for ( int i = 0; i < entityMetamodel.getPropertySpan(); i++ ) { if ( propertyUniqueness[i] ) { //don't need filters for the static loaders uniqueKeyLoaders.put( propertyNames[i], createUniqueKeyLoader( propertyTypes[i], getPropertyColumnNames( i ), LoadQueryInfluencers.NONE ) ); //TODO: create uk loaders for component properties } } }
protected void createUniqueKeyLoaders() throws MappingException { Type[] propertyTypes = getPropertyTypes(); String[] propertyNames = getPropertyNames(); for ( int i = 0; i < entityMetamodel.getPropertySpan(); i++ ) { if ( propertyUniqueness[i] ) { //don't need filters for the static loaders uniqueKeyLoaders.put( propertyNames[i], createUniqueKeyLoader( propertyTypes[i], getPropertyColumnNames( i ), LoadQueryInfluencers.NONE ) ); //TODO: create uk loaders for component properties } } }
String[] propertyNames = ownerEntityPersister.getPropertyNames(); for (int i = 0; i < propertyNames.length; i++) { String propertyName = propertyNames[i];
String[] props = subclassPersister.getPropertyNames(); String[] classes = subclassPersister.getPropertySubclassNames(); for ( int i=0; i<props.length; i++ ) {
String[] props = subclassPersister.getPropertyNames(); String[] classes = subclassPersister.getPropertySubclassNames(); for ( int i=0; i<props.length; i++ ) {
String[] props = subclassPersister.getPropertyNames(); String[] classes = subclassPersister.getPropertySubclassNames(); for ( int i=0; i<props.length; i++ ) {
protected String concretePropertySelectFragment(String alias, InclusionChecker inclusionChecker) { int propertyCount = getPropertyNames().length; int[] propertyTableNumbers = getPropertyTableNumbersInSelect(); SelectFragment frag = new SelectFragment(); for ( int i = 0; i < propertyCount; i++ ) { if ( inclusionChecker.includeProperty( i ) ) { frag.addColumnTemplates( generateTableAlias( alias, propertyTableNumbers[i] ), propertyColumnReaderTemplates[i], propertyColumnAliases[i] ); frag.addFormulas( generateTableAlias( alias, propertyTableNumbers[i] ), propertyColumnFormulaTemplates[i], propertyColumnAliases[i] ); } } return frag.toFragmentString(); }
protected String concretePropertySelectFragment(String alias, InclusionChecker inclusionChecker) { int propertyCount = getPropertyNames().length; int[] propertyTableNumbers = getPropertyTableNumbersInSelect(); SelectFragment frag = new SelectFragment(); for ( int i = 0; i < propertyCount; i++ ) { if ( inclusionChecker.includeProperty( i ) ) { frag.addColumnTemplates( generateTableAlias( alias, propertyTableNumbers[i] ), propertyColumnReaderTemplates[i], propertyColumnAliases[i] ); frag.addFormulas( generateTableAlias( alias, propertyTableNumbers[i] ), propertyColumnFormulaTemplates[i], propertyColumnAliases[i] ); } } return frag.toFragmentString(); }