Hibernate 中怎么获取属性长度

xiaofei1981 2007-07-19 08:45:04
Hibernate 的配置文件中字段和po类的属性是这样配置的

<property
name="groupNam"
type="java.lang.String"
column="group_nam"
length="50"
/>

我现在能得到 name type column 但是得不到 length ,哪位好心人指点一下,谢谢
...全文
319 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jingtao8177 2007-07-24
  • 打赏
  • 举报
回复
顶 楼上的
xiaofei1981 2007-07-24
  • 打赏
  • 举报
回复
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 即为楼主想要的字段长度
xiaochongg 2007-07-24
  • 打赏
  • 举报
回复
哦,lz 已经自己解决了么,其实就是这样,转成column 来取就可以了
长度,类型,是否为空,都可以取到
wanzyqyy130 2007-07-19
  • 打赏
  • 举报
回复
不太理解LZ的意思~~~ 你hibernate配制文件里面不是有length属性吗
bing3joe 2007-07-19
  • 打赏
  • 举报
回复
你的属性不就是个String的嘛,可以通过getxx()得到属性啊。得到后就可以getxx().length了;一定要加上hibernate的名字作什么呢?如果你一定要用hibernate的话,就用Query查询出来再加到List集合中,再把字段取出来好了,再用.length。 不大明白你的表达方式!

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧