你的属性不就是个String的嘛,可以通过getxx()得到属性啊。得到后就可以getxx().length了;一定要加上hibernate的名字作什么呢?如果你一定要用hibernate的话,就用Query查询出来再加到List集合中,再把字段取出来好了,再用.length。 不大明白你的表达方式!

解决方案 »

  1.   

    不太理解LZ的意思~~~  你hibernate配制文件里面不是有length属性吗
      

  2.   

    Class clsTyp       = Class.forName(poName);
    Configuration cf   = new Configuration().addClass(clsTyp);
    PersistentClass pc = cf.getClassMapping(poName);
    Field[] arrs       = clsTyp.getDeclaredFields();
    Field field        = null;String fieldLen    = null;
    Iterator it        = null;
    Column col         = null;for(int i=0; i<arrs.length; i++)
    {
        field    = arrs[i];
        fieldNam = field.getName();
        fieldTyp = CommonUtil.getLastNam(field.getType().getName());
        it       = pc.getProperty(fieldNam).getColumnIterator();

        while(it.hasNext())
        {
            col  = (Column)it.next();
         }

         fieldLen = String.valueOf(col.getLength());
    }就是这样,fieldLen 即为楼主想要的字段长度
      

  3.   

    哦,lz 已经自己解决了么,其实就是这样,转成column 来取就可以了
    长度,类型,是否为空,都可以取到