HibernateChecker.java 文件源码

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

项目:domui 作者:
/**
 * Enums must be mapped as String, not ORDINAL.
 * @param g
 */
private void checkEnumMapping(Method g) {
    if(Enum.class.isAssignableFrom(g.getReturnType())) {        // Is type enum?
        if(g.getAnnotation(Transient.class) != null)
            return;

        //-- If the enum has a @Type we will have to assume the type handles mapping correctly (like MappedEnumType)
        org.hibernate.annotations.Type ht = g.getAnnotation(Type.class);
        if(null == ht) {
            //-- No @Type mapping, so this must have proper @Enumerated definition.
            Enumerated e = g.getAnnotation(Enumerated.class);
            if(null == e) {
                problem(Severity.ERROR, "Missing @Enumerated annotation on enum property - this will cause ORDINAL mapping of an enum which is undesirable");
                m_enumErrors++;
            } else if(e.value() != EnumType.STRING) {
                problem(Severity.ERROR, "@Enumerated(ORDINAL) annotation on enum property - this will cause ORDINAL mapping of an enum which is undesirable");
                m_enumErrors++;
            }
        }
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号