微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

数据库 – 从Hibernate映射获取列长度?

要验证我收到的数据,我需要确保长度不会超过数据库列长度.现在所有长度信息都存储在Hibernate映射文件中,无论如何以编程方式访问此信息?

解决方法

你可以实现它,但这并不容易.您可能希望在启动时执行类似下面的操作并存储值的静态缓存.有许多特殊情况需要处理(继承等),但它应该适用于简单的单列映射.我可能遗漏了一些instanceof和null检查.
for (Iterator iter=configuration.getClassMappings(); iter.hasNext();) {
    PersistentClass persistentClass = (PersistentClass)iter.next();
    for (Iterator iter2=persistentClass.getPropertyIterator(); iter2.hasNext();) {
       Property property = (Property)iter2.next();
       String class = persistentClass.getClassName();
       String attribute = property.getName();
       int length = ((Column)property.getColumnIterator().next()).getLength();
    }
  }

原文地址:https://www.jb51.cc/mssql/77971.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐