繁体   English   中英

获取数据库大小的Java(JPA)

[英]Get Database size Java(JPA)

我已经知道,像下面这样的简单SQL查询将返回my_db的大小(以兆字节为单位)。

SELECT SUM(data_length + index_length ) /1024 /1024 FROM information_schema.TABLES WHERE table_schema = 'my_db' GROUP BY table_schema"

尽管我无法在Java上下文中执行此操作,也没有在JPA找到它的等效功能。

有没有办法像我尝试的那样使用不使用本机sql来获得数据库大小?

我尝试了以下操作,但是遇到了与sql语法相关的异常。

public Long dbSize(){
    TypedQuery<Long> query = em.createQuery(
            "SELECT SUM(data_length + index_length ) /1024 /1024 FROM information_schema.TABLES WHERE table_schema = 'my_db' GROUP BY table_schema" , Long.class);
    long size = query.getSingleResult();
    return size;
}

我究竟做错了什么? 欢迎任何帮助/建议。

尝试使用em.createNativeQuery() ,这就是普通SQL查询应使用的方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM