private void findHierarchyRoot(final Class<? super E> inspectedClass) {
if (inspectedClass != null) {
if (!inspectedClass.isAnnotationPresent(Entity.class)) {
findHierarchyRoot(inspectedClass.getSuperclass());
} else {
this.parentEntityClass = inspectedClass;
final EntityClass<? super E> parentDescription = this.context.getDescription(inspectedClass);
this.accessStyle = parentDescription.getAccessStyle();
if (parentDescription.inheritanceType == null) {
parentDescription.inheritanceType = InheritanceType.SINGLE_TABLE;
parentDescription.buildDiscriminator();
}
if (this.inheritanceType == null) {
this.inheritanceType = parentDescription.inheritanceType;
this.hierarchyRoot = parentDescription.hierarchyRoot;
} else if (parentDescription.inheritanceType != InheritanceType.TABLE_PER_CLASS) {
this.hierarchyRoot = parentDescription.hierarchyRoot;
}
if (parentDescription.getInheritanceType() == InheritanceType.JOINED) {
this.joinedParentClass = parentDescription;
buildPrimaryKeyJoinColumn();
} else {
if (parentDescription.getInheritanceType() == InheritanceType.SINGLE_TABLE) {
this.table = parentDescription.table;
}
this.joinedParentClass = parentDescription.joinedParentClass;
this.primaryKeyJoinColumn = parentDescription.primaryKeyJoinColumn;
}
}
}
}
EntityClass.java 文件源码
java
阅读 42
收藏 0
点赞 0
评论 0
项目:org.fastnate
作者:
评论列表
文章目录