List of usage examples for org.hibernate.mapping Component isEmbedded
public boolean isEmbedded()
From source file:com.mysema.query.jpa.codegen.HibernateDomainExporter.java
License:Apache License
private void collectTypes() throws IOException, XMLStreamException, ClassNotFoundException, SecurityException, NoSuchMethodException {/*from w ww. j av a 2 s.c o m*/ // super classes Iterator<?> superClassMappings = configuration.getMappedSuperclassMappings(); while (superClassMappings.hasNext()) { MappedSuperclass msc = (MappedSuperclass) superClassMappings.next(); EntityType entityType = createSuperType(msc.getMappedClass()); if (msc.getDeclaredIdentifierProperty() != null) { handleProperty(entityType, msc.getMappedClass(), msc.getDeclaredIdentifierProperty()); } Iterator<?> properties = msc.getDeclaredPropertyIterator(); while (properties.hasNext()) { handleProperty(entityType, msc.getMappedClass(), (org.hibernate.mapping.Property) properties.next()); } } // entity classes Iterator<?> classMappings = configuration.getClassMappings(); while (classMappings.hasNext()) { PersistentClass pc = (PersistentClass) classMappings.next(); EntityType entityType = createEntityType(pc.getMappedClass()); if (pc.getDeclaredIdentifierProperty() != null) { handleProperty(entityType, pc.getMappedClass(), pc.getDeclaredIdentifierProperty()); } else if (!pc.isInherited() && pc.hasIdentifierProperty()) { logger.info(entityType.toString() + pc.getIdentifierProperty()); handleProperty(entityType, pc.getMappedClass(), pc.getIdentifierProperty()); } else if (pc.getIdentifier() != null) { KeyValue identifier = pc.getIdentifier(); if (identifier instanceof Component) { Component component = (Component) identifier; Iterator<?> properties = component.getPropertyIterator(); if (component.isEmbedded()) { while (properties.hasNext()) { handleProperty(entityType, pc.getMappedClass(), (org.hibernate.mapping.Property) properties.next()); } } else { String name = component.getNodeName(); Class<?> clazz = component.getType().getReturnedClass(); Type propertyType = getType(pc.getMappedClass(), clazz, name); AnnotatedElement annotated = getAnnotatedElement(pc.getMappedClass(), name); Property property = createProperty(entityType, name, propertyType, annotated); entityType.addProperty(property); // handle component properties EntityType embeddedType = createEmbeddableType(propertyType); while (properties.hasNext()) { handleProperty(embeddedType, clazz, (org.hibernate.mapping.Property) properties.next()); } } } // TODO handle other KeyValue subclasses such as Any, DependentValue and ToOne } Iterator<?> properties = pc.getDeclaredPropertyIterator(); while (properties.hasNext()) { handleProperty(entityType, pc.getMappedClass(), (org.hibernate.mapping.Property) properties.next()); } } // go through supertypes Set<Supertype> additions = Sets.newHashSet(); for (Map.Entry<String, EntityType> entry : allTypes.entrySet()) { EntityType entityType = entry.getValue(); if (entityType.getSuperType() != null && !allTypes.containsKey(entityType.getSuperType().getType().getFullName())) { additions.add(entityType.getSuperType()); } } for (Supertype type : additions) { type.setEntityType(createEntityType(type.getType(), superTypes)); } }
From source file:com.querydsl.jpa.codegen.HibernateDomainExporter.java
License:Apache License
@Override protected void collectTypes() throws IOException, XMLStreamException, ClassNotFoundException, NoSuchMethodException { // super classes Iterator<?> superClassMappings = configuration.getMappedSuperclassMappings(); while (superClassMappings.hasNext()) { MappedSuperclass msc = (MappedSuperclass) superClassMappings.next(); EntityType entityType = createSuperType(msc.getMappedClass()); if (msc.getDeclaredIdentifierProperty() != null) { handleProperty(entityType, msc.getMappedClass(), msc.getDeclaredIdentifierProperty()); }/*from w w w . ja v a2s . c o m*/ Iterator<?> properties = msc.getDeclaredPropertyIterator(); while (properties.hasNext()) { handleProperty(entityType, msc.getMappedClass(), (org.hibernate.mapping.Property) properties.next()); } } // entity classes Iterator<?> classMappings = configuration.getClassMappings(); while (classMappings.hasNext()) { PersistentClass pc = (PersistentClass) classMappings.next(); EntityType entityType = createEntityType(pc.getMappedClass()); if (pc.getDeclaredIdentifierProperty() != null) { handleProperty(entityType, pc.getMappedClass(), pc.getDeclaredIdentifierProperty()); } else if (!pc.isInherited() && pc.hasIdentifierProperty()) { logger.info(entityType.toString() + pc.getIdentifierProperty()); handleProperty(entityType, pc.getMappedClass(), pc.getIdentifierProperty()); } else if (pc.getIdentifier() != null) { KeyValue identifier = pc.getIdentifier(); if (identifier instanceof Component) { Component component = (Component) identifier; Iterator<?> properties = component.getPropertyIterator(); if (component.isEmbedded()) { while (properties.hasNext()) { handleProperty(entityType, pc.getMappedClass(), (org.hibernate.mapping.Property) properties.next()); } } else { String name = component.getNodeName(); Class<?> clazz = component.getType().getReturnedClass(); Type propertyType = getType(pc.getMappedClass(), clazz, name); AnnotatedElement annotated = getAnnotatedElement(pc.getMappedClass(), name); Property property = createProperty(entityType, name, propertyType, annotated); entityType.addProperty(property); // handle component properties EntityType embeddedType = createEmbeddableType(propertyType); while (properties.hasNext()) { handleProperty(embeddedType, clazz, (org.hibernate.mapping.Property) properties.next()); } } } // TODO handle other KeyValue subclasses such as Any, DependentValue and ToOne } Iterator<?> properties = pc.getDeclaredPropertyIterator(); while (properties.hasNext()) { handleProperty(entityType, pc.getMappedClass(), (org.hibernate.mapping.Property) properties.next()); } } }
From source file:org.jboss.tools.hibernate.ui.diagram.editors.model.OrmShape.java
License:Open Source License
/** * creates children of the shape, /*from w w w .j a v a 2s. c om*/ */ @SuppressWarnings({ "unchecked", "rawtypes" }) protected void initModel() { Object ormElement = getOrmElement(); if (ormElement instanceof RootClass) { RootClass rootClass = (RootClass) ormElement; Property identifierProperty = rootClass.getIdentifierProperty(); if (identifierProperty != null) { addChild(new Shape(identifierProperty, getConsoleConfigName())); } KeyValue identifier = rootClass.getIdentifier(); if (identifier instanceof Component) { Component component = (Component) identifier; if (component.isEmbedded()) { Iterator<Property> iterator = ((Component) identifier).getPropertyIterator(); while (iterator.hasNext()) { Property property = iterator.next(); addChild(new Shape(property, getConsoleConfigName())); } } } Iterator<Property> iterator = rootClass.getPropertyIterator(); while (iterator.hasNext()) { Property field = iterator.next(); if (!field.isBackRef()) { if (!field.isComposite()) { final Value val = field.getValue(); Shape bodyOrmShape = null; if (val.isSimpleValue() && !((SimpleValue) val).isTypeSpecified()) { bodyOrmShape = new Shape(field, getConsoleConfigName()); } else { if (val instanceof Collection) { bodyOrmShape = new ComponentShape(field, getConsoleConfigName()); } else { Type type = getTypeUsingExecContext(val); if (type != null && type.isEntityType()) { bodyOrmShape = new ExpandableShape(field, getConsoleConfigName()); } else { bodyOrmShape = new Shape(field, getConsoleConfigName()); } } } addChild(bodyOrmShape); } else { Shape bodyOrmShape = new ExpandableShape(field, getConsoleConfigName()); addChild(bodyOrmShape); } } } } else if (ormElement instanceof Subclass) { RootClass rootClass = ((Subclass) ormElement).getRootClass(); Property identifierProperty = rootClass.getIdentifierProperty(); if (identifierProperty != null) { addChild(new Shape(identifierProperty, getConsoleConfigName())); } KeyValue identifier = rootClass.getIdentifier(); if (identifier instanceof Component) { Iterator<Property> iterator = ((Component) identifier).getPropertyIterator(); while (iterator.hasNext()) { Property property = iterator.next(); addChild(new Shape(property, getConsoleConfigName())); } } Iterator<Property> iterator = rootClass.getPropertyIterator(); while (iterator.hasNext()) { Property field = iterator.next(); if (!field.isBackRef()) { if (!field.isComposite()) { boolean typeIsAccessible = true; if (field.getValue().isSimpleValue() && ((SimpleValue) field.getValue()).isTypeSpecified()) { try { field.getValue().getType(); } catch (Exception e) { typeIsAccessible = false; } } Shape bodyOrmShape = null; if (typeIsAccessible && field.getValue().isSimpleValue()) { bodyOrmShape = new Shape(field, getConsoleConfigName()); } else if (typeIsAccessible && field.getValue().getType().isEntityType()) { bodyOrmShape = new ExpandableShape(field, getConsoleConfigName()); } else if (typeIsAccessible && field.getValue().getType().isCollectionType()) { bodyOrmShape = new ComponentShape(field, getConsoleConfigName()); } else { bodyOrmShape = new Shape(field, getConsoleConfigName()); } addChild(bodyOrmShape); } else { Shape bodyOrmShape = new ExpandableShape(field, getConsoleConfigName()); addChild(bodyOrmShape); } } } Iterator<Property> iter = ((Subclass) ormElement).getPropertyIterator(); while (iter.hasNext()) { Property property = iter.next(); if (!property.isBackRef()) { if (!property.isComposite()) { boolean typeIsAccessible = true; if (property.getValue().isSimpleValue() && ((SimpleValue) property.getValue()).isTypeSpecified()) { try { property.getValue().getType(); } catch (Exception e) { typeIsAccessible = false; } } Shape bodyOrmShape = null; if (typeIsAccessible && property.getValue().getType().isEntityType()) { bodyOrmShape = new ExpandableShape(property, getConsoleConfigName()); } else if (typeIsAccessible && property.getValue().getType().isCollectionType()) { bodyOrmShape = new ComponentShape(property, getConsoleConfigName()); } else { bodyOrmShape = new Shape(property, getConsoleConfigName()); } addChild(bodyOrmShape); } else { Shape bodyOrmShape = new ExpandableShape(property, getConsoleConfigName()); addChild(bodyOrmShape); } } } } else if (ormElement instanceof Table) { Iterator iterator = ((Table) getOrmElement()).getColumnIterator(); while (iterator.hasNext()) { Column column = (Column) iterator.next(); Shape bodyOrmShape = new Shape(column, getConsoleConfigName()); addChild(bodyOrmShape); } } }