由以下原因引起:sql.SQLSyntaxErrorException:user缺少未找到的权限或对象:FROM_UNIXTIME

时间:2017-07-20 10:12:29

标签: mysql sql sql-server sqlite hsqldb

将p.patient_id选为patientId,将p.user_id选为userId,将u.first_name选为first_name

我希望这个查询在我的junit测试用例中运行。我知道hsql不支持这个,我需要一个解决方案来支持this.pls帮助

1 个答案:

答案 0 :(得分:1)

这是一个MySQL查询,因此如果您想按原样运行它,它必须作为本机查询运行。您可以使用类似于以下内容的代码:

String query = "SELECT p.patient_id as patientId ...";
Query q = em.createNativeQuery(query);
List<Object[]> rows = q.getResultList();
for (Object[] r: rows) {
    // process each row as your unit test requires
}

如果需要使用参数化本机查询,则必须使用位置参数。有关示例,请参阅以下Stack Overflow问题:

How to create a native query with named parameters?