小编hyd*_*tza的帖子

如何在Hibernate中的本机SQL查询中转义冒号`:`?

我有一个本机SQL查询,看起来像这样:

Query query = session.createSQLQuery("SELECT
        XMLSERIALIZE
        (CONTENT
          XMLELEMENT
          (
            NAME \"ltc:DOAATLTC\",
            XMLATTRIBUTES
            (
              'http://www.edftrading.com/Trade/Common/DoaatLTC' AS \"xmlns:ltc\",
              'http://www.edftrading.com/Trade/Common/DoaatLTCHourlyNomination' AS \"xmlns:ltchnom\"
            ),
            XMLELEMENT ( ... ) FROM ...");
Run Code Online (Sandbox Code Playgroud)

问题是,Hibernate的解释:DOAATLTC\",,:ltc\",,:ltchnom\",作为参数,并希望我们给值query.setString("DOAATLTC\",", ...),query.setString("ltc\",", ...),query.setString("ltchnom\",", ...)

但我不希望Hibernate这样解释,所以我想逃避冒号:.

怎么做 ?

java sql hibernate

7
推荐指数
2
解决办法
6923
查看次数

CROSS JOIN和CROSS JOIN TABLE有什么区别

在以下代码中:

SELECT ... FROM ... CROSS JOIN TABLE ... WHERE ...;
Run Code Online (Sandbox Code Playgroud)

CROSS JOIN TABLE是什么意思?

我在网上搜索,但我只能找到CROSS JOIN.

我想CROSS JOIN TABLE作用于一个表,意思是这样的表:

CREATE OR REPLACE ... AS TABLE OF ...;
Run Code Online (Sandbox Code Playgroud)

这是完整的查询:

SELECT prog.id_oct_prog_tran_a_participati, prog.code_ressource, prog.instant_depart, prog.commentaire, prog.en_hors_economie_de_comb, discr.delai, discr.valeur_point, MOD(delai, 60) AS H24
          FROM req_prog prog
            CROSS JOIN TABLE(POINTS_DISCRETS(pIdChronique=>id_chr_substitution)) discr
          WHERE horizon <= 'J1'
            AND delai > 0
          ORDER BY id_oct_prog_tran_a_participati, instant_depart, horizon, delai 
Run Code Online (Sandbox Code Playgroud)

POINTS_DISCRETS是一个返回类型元素的函数TYPE_TAB_POINT.并且TYPE_TAB_POINT是DBA创建的类型如下:

create or replace TYPE "TYPE_TAB_POINT" AS TABLE OF TYPE_POINT;
Run Code Online (Sandbox Code Playgroud)

TYPE_POINT创建的类型在哪里:

create or …
Run Code Online (Sandbox Code Playgroud)

sql oracle join

0
推荐指数
1
解决办法
58
查看次数

标签 统计

sql ×2

hibernate ×1

java ×1

join ×1

oracle ×1