RepositoryStructure.java 文件源码

java
阅读 35 收藏 0 点赞 0 评论 0

项目:spring-data-generator 作者:
@SuppressWarnings("unchecked")
private Tuple<String, Boolean> getEntityId(String entityClass){
    try {
        Class<?> entity = null;
        if (loader == null) {
            entity = Class.forName(entityClass);
        } else {
            entity = loader.getUrlClassLoader().loadClass(entityClass);
        }

        while (entity != null){
            for (Field field : entity.getDeclaredFields()) {
                if (field.isAnnotationPresent(Id.class) || field.isAnnotationPresent(EmbeddedId.class)) {
                    this.implementsSerializable(field.getType());
                    return new Tuple<>(field.getType().getName(), this.isCustomType(field.getType()));
                }
            }

            for (Method method : entity.getDeclaredMethods()) {
                if (!method.getReturnType().equals(Void.TYPE) && (method.isAnnotationPresent(Id.class) || method.isAnnotationPresent(EmbeddedId.class))) {
                    this.implementsSerializable(method.getReturnType());
                    return new Tuple<>(method.getReturnType().getName(), this.isCustomType(method.getReturnType()));
                }
            }
            entity = entity.getSuperclass();
        }

        error = SDLogger.addError("Repository Error: Primary key not found in " + GeneratorUtils.getSimpleClassName(entityClass) + ".java");
        return null;
    } catch (GeneratorException ex) {
        error = SDLogger.addError(ex.getMessage());
        return null;
    } catch (Exception e) {
        error = SDLogger.addError("Repository Error: Failed to access entity " + GeneratorUtils.getSimpleClassName(entityClass) + ".java");
        return null;
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号