Database hibernate中的列长度
是否可以从hibernate检索db列长度Database hibernate中的列长度,database,hibernate,Database,Hibernate,是否可以从hibernate检索db列长度 Property property = (Property)persistentClass.getProperty(propertyName); ((Column)property.getColumnIterator().next()).getLength(); System.out.print(persister.getPropertyColumnNames(propertyName
Property property = (Property)persistentClass.getProperty(propertyName);
((Column)property.getColumnIterator().next()).getLength();
System.out.print(persister.getPropertyColumnNames(propertyName)[0]);
这将重试实体类对象长度,而不是db列长度。不是直接从Hibernate重试,而是通过使用特定于数据库供应商的本机查询间接重试。对于Oracle,您可以查询表中的所有\u选项卡\u列:
SELECT DATA_TYPE, DATA_LENGTH
FROM all_tab_columns
where owner = 'SCHEMA_OWNER'
and TABLE_NAME = 'MY_TABLE'
and COLUMN_NAME = 'MY_COLUMN';
这将返回如下内容:
DATA_TYPE DATA_LENGTH
------------------------
VARCHAR2 36
SQL Server似乎具有类似的功能:
谢谢@MirandaVeracruzDeLaHoyaCardina!但是我需要一种从hibernate获取大小的方法。您是否有任何等效的hql查询?我认为这是不可能的。