collectionBinder.setCascadeStrategy( getCascadeStrategy( oneToManyAnn.cascade(), hibernateCascade, oneToManyAnn.orphanRemoval(), false
public boolean isOrphanRemoval(PluralAttribute<?, ?, ?> attribute) { if (attribute.getJavaMember() instanceof AccessibleObject) { AccessibleObject accessibleObject = (AccessibleObject) attribute.getJavaMember(); OneToMany oneToMany = accessibleObject.getAnnotation(OneToMany.class); if (oneToMany != null) { return oneToMany.orphanRemoval(); } } return true; } }
public boolean isOrphanRemoval(PluralAttribute<?, ?, ?> attribute) { if (attribute.getJavaMember() instanceof AccessibleObject) { AccessibleObject accessibleObject = (AccessibleObject) attribute.getJavaMember(); OneToMany oneToMany = accessibleObject.getAnnotation(OneToMany.class); if (oneToMany != null) { return oneToMany.orphanRemoval(); } } return true; } }
/** * sprawdza czy mapping ORM'owy jest ok */ private void analyzeAutoAcceptChange(ChangeRequest cr, DataObject modPoint) { if (cr.getRecType().equals(RecType.CHILD_REMOVE) && cr.isOneToMany()) { //czy kolekcja jest orphanRemoval=true Method getter = ReflectionUtil.findGetter(cr.getGetterName(), modPoint.getWrappedClass()); OneToMany oneToMany = getter.getAnnotation(OneToMany.class); if (oneToMany.orphanRemoval()) { throw new UnsupportedMapping( "Can't perform AutoAccept CHILD_REMOVE, found orphanRemoval==true on @OneToMany side. Removed object is expected to change only its status to DELETED." + " Problematic getter: "+getterDesc(getter)); } } }
/** * @param member * the java member of one-to-one attribute * @param name * the name of the one-to-one attribute * @param oneToMany * the obtained {@link OneToMany} annotation * @param parsed * set of annotations parsed * * @since 2.0.0 */ public OneToManyAttributeMetadataImpl(Member member, String name, OneToMany oneToMany, Set<Class<? extends Annotation>> parsed) { super(member, name, parsed, oneToMany.targetEntity().getName(), oneToMany.fetch(), oneToMany.cascade()); parsed.add(OneToMany.class); this.mappedBy = oneToMany.mappedBy(); this.removesOprhans = oneToMany.orphanRemoval(); this.mapKey = this.handleMapKey(member, parsed); this.mapKeyClassName = this.handleMapKeyClassName(member, parsed); this.mapKeyColumn = this.handleMapKeyColumn(member, parsed); this.mapKeyEnumType = this.handleMapKeyEnumType(member, parsed); this.mapKeyTemporalType = this.handleMapKeyTemporalType(member, parsed); this.orderBy = this.handleOrderBy(member, parsed); this.orderColumn = this.handleOrderColumn(member, parsed); }
/** * @param member * the java member of one-to-one attribute * @param name * the name of the one-to-one attribute * @param oneToMany * the obtained {@link OneToMany} annotation * @param parsed * set of annotations parsed * * @since 2.0.0 */ public OneToManyAttributeMetadataImpl(Member member, String name, OneToMany oneToMany, Set<Class<? extends Annotation>> parsed) { super(member, name, parsed, oneToMany.targetEntity().getName(), oneToMany.fetch(), oneToMany.cascade()); parsed.add(OneToMany.class); this.mappedBy = oneToMany.mappedBy(); this.removesOprhans = oneToMany.orphanRemoval(); this.mapKey = this.handleMapKey(member, parsed); this.mapKeyClassName = this.handleMapKeyClassName(member, parsed); this.mapKeyColumn = this.handleMapKeyColumn(member, parsed); this.mapKeyEnumType = this.handleMapKeyEnumType(member, parsed); this.mapKeyTemporalType = this.handleMapKeyTemporalType(member, parsed); this.orderBy = this.handleOrderBy(member, parsed); this.orderColumn = this.handleOrderColumn(member, parsed); }
/** * @param member * the java member of one-to-one attribute * @param name * the name of the one-to-one attribute * @param oneToMany * the obtained {@link OneToMany} annotation * @param parsed * set of annotations parsed * * @since 2.0.0 */ public OneToManyAttributeMetadataImpl(Member member, String name, OneToMany oneToMany, Set<Class<? extends Annotation>> parsed) { super(member, name, parsed, oneToMany.targetEntity().getName(), oneToMany.fetch(), oneToMany.cascade()); parsed.add(OneToMany.class); this.mappedBy = oneToMany.mappedBy(); this.removesOprhans = oneToMany.orphanRemoval(); this.mapKey = this.handleMapKey(member, parsed); this.mapKeyClassName = this.handleMapKeyClassName(member, parsed); this.mapKeyColumn = this.handleMapKeyColumn(member, parsed); this.mapKeyEnumType = this.handleMapKeyEnumType(member, parsed); this.mapKeyTemporalType = this.handleMapKeyTemporalType(member, parsed); this.orderBy = this.handleOrderBy(member, parsed); this.orderColumn = this.handleOrderColumn(member, parsed); }
if (oneToMany != null) { readToOne(oneToMany, prop); if (oneToMany.orphanRemoval()) { prop.setModifyListenMode(ModifyListenMode.REMOVALS); prop.getCascadeInfo().setDelete(true);
collectionBinder.setCascadeStrategy( getCascadeStrategy( oneToManyAnn.cascade(), hibernateCascade, oneToManyAnn.orphanRemoval(), false
/** * Parse @OneToMany. */ private void parseOneToMany(FieldMetaData fmd, OneToMany anno) { switch (fmd.getDeclaredTypeCode()) { case JavaTypes.ARRAY: case JavaTypes.COLLECTION: case JavaTypes.MAP: if (JavaTypes.maybePC(fmd.getElement())) break; // no break default: throw new MetaDataException(_loc.get("bad-meta-anno", fmd, "OneToMany")); } fmd.setInDefaultFetchGroup(anno.fetch() == FetchType.EAGER); if (isMappingOverrideMode() && !StringUtils.isEmpty(anno.mappedBy())) fmd.setMappedBy(anno.mappedBy()); if (anno.targetEntity() != void.class) fmd.getElement().setDeclaredType(anno.targetEntity()); setCascades(fmd.getElement(), anno.cascade()); setOrphanRemoval(fmd.getElement(), anno.orphanRemoval()); fmd.setAssociationType(FieldMetaData.ONE_TO_MANY); }
/** * Parse @OneToMany. */ private void parseOneToMany(FieldMetaData fmd, OneToMany anno) { switch (fmd.getDeclaredTypeCode()) { case JavaTypes.ARRAY: case JavaTypes.COLLECTION: case JavaTypes.MAP: if (JavaTypes.maybePC(fmd.getElement())) break; // no break default: throw new MetaDataException(_loc.get("bad-meta-anno", fmd, "OneToMany")); } fmd.setInDefaultFetchGroup(anno.fetch() == FetchType.EAGER); if (isMappingOverrideMode() && !StringUtils.isEmpty(anno.mappedBy())) fmd.setMappedBy(anno.mappedBy()); if (anno.targetEntity() != void.class) fmd.getElement().setDeclaredType(anno.targetEntity()); setCascades(fmd.getElement(), anno.cascade()); setOrphanRemoval(fmd.getElement(), anno.orphanRemoval()); fmd.setAssociationType(FieldMetaData.ONE_TO_MANY); }
/** * Parse @OneToMany. */ private void parseOneToMany(FieldMetaData fmd, OneToMany anno) { switch (fmd.getDeclaredTypeCode()) { case JavaTypes.ARRAY: case JavaTypes.COLLECTION: case JavaTypes.MAP: if (JavaTypes.maybePC(fmd.getElement())) break; // no break default: throw new MetaDataException(_loc.get("bad-meta-anno", fmd, "OneToMany")); } fmd.setInDefaultFetchGroup(anno.fetch() == FetchType.EAGER); if (isMappingOverrideMode() && !StringUtil.isEmpty(anno.mappedBy())) fmd.setMappedBy(anno.mappedBy()); if (anno.targetEntity() != void.class) fmd.getElement().setDeclaredType(anno.targetEntity()); setCascades(fmd.getElement(), anno.cascade()); setOrphanRemoval(fmd.getElement(), anno.orphanRemoval()); fmd.setAssociationType(FieldMetaData.ONE_TO_MANY); }
/** * Parse @OneToMany. */ private void parseOneToMany(FieldMetaData fmd, OneToMany anno) { switch (fmd.getDeclaredTypeCode()) { case JavaTypes.ARRAY: case JavaTypes.COLLECTION: case JavaTypes.MAP: if (JavaTypes.maybePC(fmd.getElement())) break; // no break default: throw new MetaDataException(_loc.get("bad-meta-anno", fmd, "OneToMany")); } fmd.setInDefaultFetchGroup(anno.fetch() == FetchType.EAGER); if (isMappingOverrideMode() && !StringUtil.isEmpty(anno.mappedBy())) fmd.setMappedBy(anno.mappedBy()); if (anno.targetEntity() != void.class) fmd.getElement().setDeclaredType(anno.targetEntity()); setCascades(fmd.getElement(), anno.cascade()); setOrphanRemoval(fmd.getElement(), anno.orphanRemoval()); fmd.setAssociationType(FieldMetaData.ONE_TO_MANY); }
if (oneToMany != null) { readToOne(oneToMany, prop); if (oneToMany.orphanRemoval()) { prop.setModifyListenMode(ModifyListenMode.REMOVALS); prop.getCascadeInfo().setDelete(true);
if (oneToMany != null) { readToOne(oneToMany, prop); if (oneToMany.orphanRemoval()) { prop.setModifyListenMode(ModifyListenMode.REMOVALS); prop.getCascadeInfo().setDelete(true);
collectionBinder.setCascadeStrategy( getCascadeStrategy( oneToManyAnn.cascade(), hibernateCascade, oneToManyAnn.orphanRemoval(), false
collectionBinder.setCascadeStrategy( getCascadeStrategy( oneToManyAnn.cascade(), hibernateCascade, oneToManyAnn.orphanRemoval(), false
collectionBinder.setCascadeStrategy( getCascadeStrategy( oneToManyAnn.cascade(), hibernateCascade, oneToManyAnn.orphanRemoval(), false