@Entity
@Table ( name = "config" )
@Inheritance ( strategy = InheritanceType.JOINED )
@Audited
public abstract class AbstractConfigurationObject <T extends ConfigurationObject> extends AbstractObject implements ConfigurationObjectMutable {
@ManyToMany ( targetEntity = AbstractConfigurationObject.class, fetch = FetchType.LAZY, cascade = {} )
public Set<@NonNull ConfigurationObject> getUses ()
@ManyToMany ( targetEntity = AbstractConfigurationObject.class, fetch = FetchType.LAZY, mappedBy = "uses", cascade = {} )
public Set<@NonNull ConfigurationObject> getUsedBy ()
}