Hibernate在SQL Server查询中添加nolock

时间:2018-08-10 18:29:01

标签: java sql-server hibernate

在下面的代码中

String sql =
    "select CAST(MONTH(t.data_referencia) AS VARCHAR(2)) + '-' + CAST(YEAR(t.data_referencia) AS VARCHAR(4)) AS data, SUM(t.quantidade) AS soma from ( "+
    "SELECT distinct tc.* "+
         ", tf.quantidade as quantidade "+
    "FROM tb_faturamento_cliente as tc "+
    "INNER JOIN tb_pico_faturamento tf ON tc.id_faturamento_cliente = tf.id_faturamento_cliente "+
    "WHERE tf.quantidade = ( SELECT MAX(tf2.quantidade) "+
                                "FROM tb_pico_faturamento as tf2 "+
                                "WHERE tf2.id_faturamento_cliente = tf.id_faturamento_cliente ) and "+
    "tc.id_cliente=2 and "+
    "tc.ativo=1 "+
    ") t "+
    "where "+
    "(t.data_referencia BETWEEN '2018-01-01' AND '2018-12-01') "+
    "GROUP BY CAST(MONTH(t.data_referencia) AS VARCHAR(2)) + '-' + CAST(YEAR(t.data_referencia) AS VARCHAR(4)) ";

Query query = session().createSQLQuery(sql);
query.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP);
List data = query.list();

我在行中收到以下错误:

List data = query.list();

这是错误:

  

原因:java.sql.SQLException:关键字附近的语法不正确   “有”。

休眠通过查询进行此操作

Hibernate: select CAST(MONTH(t.data_referencia) AS VARCHAR(2)) + '-' + CAST(YEAR(t.data_referencia) AS VARCHAR(4)) AS data, SUM(t.quantidade) AS soma from ( SELECT distinct tc.* , tf.quantidade as quantidade FROM  tb_faturamento_cliente as  with (nolock) tc INNER JOIN  tb_pico_faturamento tf  with (nolock) ON tc.id_faturamento_cliente = tf.id_faturamento_cliente WHERE tf.quantidade = ( SELECT MAX(tf2.quantidade) FROM  tb_pico_faturamento as  with (nolock) tf2 WHERE tf2.id_faturamento_cliente = tf.id_faturamento_cliente ) and tc.id_cliente=2 and tc.ativo=1 ) t where (t.data_referencia BETWEEN '2018-01-01' AND '2018-12-01') GROUP BY CAST(MONTH(t.data_referencia) AS VARCHAR(2)) + '-' + CAST(YEAR(t.data_referencia) AS VARCHAR(4))

休眠添加nolock。

你知道为什么吗?

0 个答案:

没有答案