ad.setValue( "cascade", cascades.toArray( new CascadeType[] {} ) ); ad.setValue( "targetEntity", oneToOne.targetEntity() ); ad.setValue( "fetch", oneToOne.fetch() ); ad.setValue( "optional", oneToOne.optional() ); ad.setValue( "mappedBy", oneToOne.mappedBy() );
fetchType = oneToOne.fetch();
boolean isJoinedByFK = relationField.isAnnotationPresent(JoinColumn.class); Relation relation = new Relation(relationField, targetEntity, null, oneToOneAnn.fetch(), Arrays.asList(oneToOneAnn.cascade()), oneToOneAnn.optional(), oneToOneAnn.mappedBy(), Relation.ForeignKey.ONE_TO_ONE);
private void readOneToOne(OneToOne propAnn, DeployBeanPropertyAssocOne<?> prop) { prop.setOneToOne(); prop.setDbInsertable(true); prop.setDbUpdateable(true); prop.setNullable(propAnn.optional()); prop.setFetchType(propAnn.fetch()); prop.setMappedBy(propAnn.mappedBy()); if (!"".equals(propAnn.mappedBy())) { prop.setOneToOneExported(); prop.setOrphanRemoval(propAnn.orphanRemoval()); } else if (propAnn.orphanRemoval()) { prop.setOrphanRemoval(true); } setCascadeTypes(propAnn.cascade(), prop.getCascadeInfo()); prop.setBeanTable(beanTable(prop)); }
property.isAnnotationPresent( Id.class ) || ( property.isAnnotationPresent( MapsId.class ) && !ignoreNotFound ); matchIgnoreNotFoundWithFetchType(propertyHolder.getEntityName(), property.getName(), ignoreNotFound, ann.fetch()); OnDelete onDeleteAnn = property.getAnnotation( OnDelete.class ); boolean onDeleteCascade = onDeleteAnn != null && OnDeleteAction.CASCADE.equals( onDeleteAnn.action() ); joinColumns, !mandatory, getFetchMode( ann.fetch() ), ignoreNotFound, onDeleteCascade, ToOneBinder.getTargetEntity( inferredData, context ),
@Override protected String getFetch(Field field) { return field.getAnnotation(OneToOne.class).fetch().name(); } @Override
/** * INTERNAL: (Overridden in XMLOneToOneAccessor) */ public String getFetchType() { return (m_oneToOne == null) ? MetadataConstants.EAGER : m_oneToOne.fetch().name(); }
private boolean isLazy() { if ( oneToOne != null ) { return oneToOne.fetch() == FetchType.LAZY; } if ( oneToMany != null ) { return oneToMany.fetch() == FetchType.LAZY; } if ( manyToOne != null ) { return manyToOne.fetch() == FetchType.LAZY; } return false; }
public static List<Field> getEntityLazyFields(final Class<?> clazz) { final Field[] fields = clazz.getDeclaredFields(); final List<Field> retList = new ArrayList<Field>(); for (final Field field : fields) { if (!Modifier.isPublic(field.getModifiers())) { field.setAccessible(true); } if (field.isAnnotationPresent(OneToMany.class) && FetchType.LAZY .equals(field.getAnnotation(OneToMany.class).fetch()) || field.isAnnotationPresent(ManyToOne.class) && FetchType.LAZY .equals(field.getAnnotation(ManyToOne.class) .fetch()) || field.isAnnotationPresent(ManyToMany.class) && FetchType.LAZY .equals(field.getAnnotation(ManyToMany.class) .fetch()) || field.isAnnotationPresent(OneToOne.class) && FetchType.LAZY .equals(field.getAnnotation(OneToOne.class).fetch())) { retList.add(field); } } return retList; }
fetchType = oneToOne.fetch();
private void introspectOneToOne(OneToOne oneToOne) { Class targetClass = oneToOne.targetEntity(); if (void.class.equals(targetClass)) targetClass = _fieldType; setTargetEntity(targetClass); setCascadeTypes(oneToOne.cascade()); setFetch(oneToOne.fetch()); _isOptional = oneToOne.optional(); _mappedBy = oneToOne.mappedBy(); }
private void readOneToOne(OneToOne propAnn, DeployBeanPropertyAssocOne<?> prop) { prop.setOneToOne(); prop.setDbInsertable(true); prop.setDbUpdateable(true); prop.setNullable(propAnn.optional()); prop.setFetchType(propAnn.fetch()); prop.setMappedBy(propAnn.mappedBy()); if (!"".equals(propAnn.mappedBy())) { prop.setOneToOneExported(); } setCascadeTypes(propAnn.cascade(), prop.getCascadeInfo()); BeanTable assoc = factory.getBeanTable(prop.getPropertyType()); if (assoc == null) { String msg = errorMsgMissingBeanTable(prop.getPropertyType(), prop.getFullBeanName()); throw new RuntimeException(msg); } prop.setBeanTable(assoc); }
private void readOneToOne(OneToOne propAnn, DeployBeanPropertyAssocOne<?> prop) { prop.setOneToOne(true); prop.setDbInsertable(true); prop.setDbUpdateable(true); prop.setNullable(propAnn.optional()); prop.setFetchType(propAnn.fetch()); prop.setMappedBy(propAnn.mappedBy()); if (!"".equals(propAnn.mappedBy())) { prop.setOneToOneExported(true); } setCascadeTypes(propAnn.cascade(), prop.getCascadeInfo()); BeanTable assoc = factory.getBeanTable(prop.getPropertyType()); if (assoc == null) { String msg = errorMsgMissingBeanTable(prop.getPropertyType(), prop.getFullBeanName()); throw new RuntimeException(msg); } prop.setBeanTable(assoc); }
private void readOneToOne(OneToOne propAnn, DeployBeanPropertyAssocOne<?> prop) { prop.setOneToOne(true); prop.setDbInsertable(true); prop.setDbUpdateable(true); prop.setNullable(propAnn.optional()); prop.setFetchType(propAnn.fetch()); prop.setMappedBy(propAnn.mappedBy()); if (!"".equals(propAnn.mappedBy())) { prop.setOneToOneExported(true); } setCascadeTypes(propAnn.cascade(), prop.getCascadeInfo()); BeanTable assoc = factory.getBeanTable(prop.getPropertyType()); if (assoc == null) { String msg = errorMsgMissingBeanTable(prop.getPropertyType(), prop.getFullBeanName()); throw new RuntimeException(msg); } prop.setBeanTable(assoc); }
/** * Parse @OneToOne. */ private void parseOneToOne(FieldMetaData fmd, OneToOne anno) { if (!JavaTypes.maybePC(fmd.getValue())) throw new MetaDataException(_loc.get("bad-meta-anno", fmd, "OneToOne")); // don't specifically exclude relation from DFG b/c that will prevent // us from even reading the fk when reading from the primary table, // which is not what most users will want if (anno.fetch() == FetchType.EAGER) fmd.setInDefaultFetchGroup(true); if (!anno.optional()) fmd.setNullValue(FieldMetaData.NULL_EXCEPTION); if (isMappingOverrideMode() && !StringUtils.isEmpty(anno.mappedBy())) fmd.setMappedBy(anno.mappedBy()); if (anno.targetEntity() != void.class) fmd.setTypeOverride(anno.targetEntity()); setCascades(fmd, anno.cascade()); }
private void readOneToOne(OneToOne propAnn, DeployBeanPropertyAssocOne<?> prop) { prop.setOneToOne(); prop.setDbInsertable(true); prop.setDbUpdateable(true); prop.setNullable(propAnn.optional()); prop.setFetchType(propAnn.fetch()); prop.setMappedBy(propAnn.mappedBy()); if (!"".equals(propAnn.mappedBy())) { prop.setOneToOneExported(); prop.setOrphanRemoval(propAnn.orphanRemoval()); } else if (propAnn.orphanRemoval()) { prop.setOrphanRemoval(true); } setCascadeTypes(propAnn.cascade(), prop.getCascadeInfo()); prop.setBeanTable(beanTable(prop)); }
joinColumns, !mandatory, getFetchMode( ann.fetch() ), ignoreNotFound, onDeleteCascade, ToOneBinder.getTargetEntity( inferredData, mappings ),
/** * Parse @OneToOne. */ private void parseOneToOne(FieldMetaData fmd, OneToOne anno) { if (!JavaTypes.maybePC(fmd.getValue())) throw new MetaDataException(_loc.get("bad-meta-anno", fmd, "OneToOne")); // don't specifically exclude relation from DFG b/c that will prevent // us from even reading the fk when reading from the primary table, // which is not what most users will want if (anno.fetch() == FetchType.EAGER) fmd.setInDefaultFetchGroup(true); if (!anno.optional()) fmd.setNullValue(FieldMetaData.NULL_EXCEPTION); if (isMappingOverrideMode() && !StringUtils.isEmpty(anno.mappedBy())) fmd.setMappedBy(anno.mappedBy()); if (anno.targetEntity() != void.class) fmd.setTypeOverride(anno.targetEntity()); setCascades(fmd, anno.cascade()); setOrphanRemoval(fmd, anno.orphanRemoval()); fmd.setAssociationType(FieldMetaData.ONE_TO_ONE); }
/** * Parse @OneToOne. */ private void parseOneToOne(FieldMetaData fmd, OneToOne anno) { if (!JavaTypes.maybePC(fmd.getValue())) throw new MetaDataException(_loc.get("bad-meta-anno", fmd, "OneToOne")); // don't specifically exclude relation from DFG b/c that will prevent // us from even reading the fk when reading from the primary table, // which is not what most users will want if (anno.fetch() == FetchType.EAGER) fmd.setInDefaultFetchGroup(true); if (!anno.optional()) fmd.setNullValue(FieldMetaData.NULL_EXCEPTION); if (isMappingOverrideMode() && !StringUtil.isEmpty(anno.mappedBy())) fmd.setMappedBy(anno.mappedBy()); if (anno.targetEntity() != void.class) fmd.setTypeOverride(anno.targetEntity()); setCascades(fmd, anno.cascade()); setOrphanRemoval(fmd, anno.orphanRemoval()); fmd.setAssociationType(FieldMetaData.ONE_TO_ONE); }
/** * Parse @OneToOne. */ private void parseOneToOne(FieldMetaData fmd, OneToOne anno) { if (!JavaTypes.maybePC(fmd.getValue())) throw new MetaDataException(_loc.get("bad-meta-anno", fmd, "OneToOne")); // don't specifically exclude relation from DFG b/c that will prevent // us from even reading the fk when reading from the primary table, // which is not what most users will want if (anno.fetch() == FetchType.EAGER) fmd.setInDefaultFetchGroup(true); if (!anno.optional()) fmd.setNullValue(FieldMetaData.NULL_EXCEPTION); if (isMappingOverrideMode() && !StringUtil.isEmpty(anno.mappedBy())) fmd.setMappedBy(anno.mappedBy()); if (anno.targetEntity() != void.class) fmd.setTypeOverride(anno.targetEntity()); setCascades(fmd, anno.cascade()); setOrphanRemoval(fmd, anno.orphanRemoval()); fmd.setAssociationType(FieldMetaData.ONE_TO_ONE); }