使用tsVector的NativeQuery中的SetParameter

我有一个带有某些值的本机查询,我想使用setParameter获取这些值,但是如果尝试执行时遇到错误,则无法提取结果集。这是我的代码:

tsx <- ts(data = x,start = c(2016,10),frequency = 12)
hw(y = tsx,h = 16,alpha = 0.6,beta = 0.3,gamma = 0.2)

我也尝试过(但仍然出现错误:无法找到命名参数[value],需要[]之一):

query1 = 
    entityManager.createNativeQuery("
    SELECT id 
    FROM user 
    WHERE to_tsvector('simple',cast(name AS text)) @@  :value ");

query1.setParameter("value","'"+parts[i + 1].toLowerCase()+"'" );

我也尝试过使用位置参数:

query1 = 
    entityManager.createNativeQuery("
    SELECT id 
    FROM user
    WHERE to_tsvector('simple',cast(name AS text)) @@ ' :value'");

    query1.setParameter("value",parts[i + 1].toLowerCase());

与命名参数相同的错误。

fjqqq123 回答:使用tsVector的NativeQuery中的SetParameter

JPA在本机查询中不支持命名参数,仅对于JPQL。您必须使用位置参数。尝试类似 查询q = em.createNativeQuery(“ SELECT count(*)FROM employee where employeename =?1”); q.setParameter(1,“ test”);

,

我重新设计了查询,最后可以使用.setParameter。

SELECT id
FROM user
WHERE to_tsvector('simple',cast(name AS text)) @@   
plainto_tsquery('simple',cast(:value AS text))"

query1.setParameter("value",parts[i + 1].toLowerCase());
本文链接:https://www.f2er.com/3167818.html

大家都在问