Skip to content

Instantly share code, notes, and snippets.

@gbadner
Created July 12, 2012 19:48
Show Gist options
  • Select an option

  • Save gbadner/3100482 to your computer and use it in GitHub Desktop.

Select an option

Save gbadner/3100482 to your computer and use it in GitHub Desktop.
Determining if a backref is needed
Remove BackrefAttributeBinding creation from Binder.
Add the following to EntityBinding:
private Set<PluralAttributeKeyBinding> referencingPluralAttributeKeyBindings;
public void addReferencingPluralAttributeKeyBinding(PluralAttributeBinding pluralAttributeKeyBinding) {
referencingPluralAttributeKeyBindings.add( pluralAttributeKeyBinding );
}
public void completeInitialization() {
for ( PluralAttributeKeyBinding pluralAttributeKeyBinding : referencingPluralAttributeKeyBindings ) {
if ( ! pluralAttributeKeyBinding.isInverse() &&
! pluralAttributeKeyBinding.isNullable() &&
getAttributeBindingContainingColumns(
pluralAttributeKeyBinding.getForeignKey().getColumns()
) == null ) {
create BackRefAttributeBinding;
}
}
}
private SingularAttributeBinding getAttributeBindingContainingColumns( List<Column> columns) {
...
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment