@Override public boolean isInherited() { if (inherited == null) { if (owner.isRoot()) { inherited = false; } else { PersistentEntity parentEntity = owner.getParentEntity(); boolean foundInParent = false; while (parentEntity != null) { final PersistentProperty p = parentEntity.getPropertyByName(name); if (p != null) { foundInParent = true; break; } parentEntity = parentEntity.getParentEntity(); } inherited = foundInParent; } } return inherited; }
PersistentEntity parent = entity.getParentEntity(); parent = parent.getParentEntity();
public PersistentEntity getRootEntity() { PersistentEntity root = this; PersistentEntity parent = getParentEntity(); while (parent != null) { if(!parent.isInitialized()) { parent.initialize(); } root = parent; parent = parent.getParentEntity(); } return root; }