我正在尝试迭代我的所有表,所以我可以截断每个表(在每个JBehave测试的开头).
我以为我能够:
List<String> allTables = session.createSQLQuery("SHOW TABLES").list();
Run Code Online (Sandbox Code Playgroud)
但是hibernate会抛出一个SQLGrammarException,抱怨"找不到列'TABLE_NAME'."
我想这是因为"show tables"查询实际上并没有返回字符串列表.有没有其他方法可以使用Hibernate获取所有表的列表?
尝试这样的事情:
SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE();
Run Code Online (Sandbox Code Playgroud)
对于列(与Hibernate相同的情况),请尝试:
SELECT column_name FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME=YOUR_TABLE_NAME
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8345 次 |
| 最近记录: |