gpt4 book ai didi

database - 从 Hibernate 映射获取列长度?

转载 作者:太空狗 更新时间:2023-10-30 01:45:23 24 4
gpt4 key购买 nike

为了验证我收到的数据,我需要确保长度不会超过数据库列的长度。现在所有长度信息都存储在 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();
}
}

关于database - 从 Hibernate 映射获取列长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/516906/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com