40分 |
可以用jdbc来获取
|
使用jdbc来获取的话,是不是意味着我重新连接数据库?有没有办法可以直接从hibernate那里获取? |
|
hibernate的底层就是jdbc |
|
我已经通过如下语句来获取到,不过有个缺点就是实体类中每个属性必须设置 @column ,否则获取不到字段的长度: Class clsEntity=Class.forName("com.controllon.modul." + entityName); if (clsEntity==null) {return 0;} Field tableColumn = clsEntity.getDeclaredField(column); if (tableColumn==null) {return 0;} javax.persistence.Column columnAnnotation = (Column) tableColumn.getAnnotation(Column.class); int len = 0 ; if (columnAnnotation==null) { // 获取默认的长度 } else { len = columnAnnotation.length() ; }
|