小编Dou*_*las的帖子

在PostgreSQL函数中返回时使用%rowtype

如果我有一个函数只返回一行,表中有一些列,我需要%rowtype在函数返回声明中添加吗?

CREATE OR REPLACE FUNCTION test(int n)
RETURNS tableName%rowtype AS
$BODY$
DECLARE 
    r tableName%rowtype;    
BEGIN   
        select a,b,c into r from tableName where d=n;
        return r;
$BODY$
END;
Run Code Online (Sandbox Code Playgroud)

database postgresql plpgsql

4
推荐指数
1
解决办法
7106
查看次数

HQL错误:with-clause引用了两个不同的from子句元素

我开始使用Hibernate并且我正在使用HQL,使用一些连接从数据库中检索数据但是得到此错误,任何有关如何解决此问题的帮助表示赞赏.

Field.hbm.xml文件:

    <id name="id" type="string">
        <column name="field_map_cd" />
        <generator class="assigned"></generator>
    </id>
Run Code Online (Sandbox Code Playgroud)

Rule.hbm.xml文件:

    <many-to-one name="src_field_map" column="field_map_cd" not-null="true" insert="false" update="false"/>
    <many-to-one name="tgt_field_map" column="field_map_cd" not-null="true" insert="false" update="false"/>
Run Code Online (Sandbox Code Playgroud)

HQL查询:

select t.id, t.name, t.src_field_map.id, s1.field_map_nm as src_field_map_nm, 
t.tgt_field_map.id,s2.field_map_nm as tgt_field_map_nm from Rule as t 
left join t.src_field_map as s1 left join t.tgt_field_map as s2 
with (s1.id = t.src_field_map.id and s2.id = t.tgt_field_map.id)
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪:

ERROR:  with-clause referenced two different from-clause elements
with-clause referenced two different from-clause elements
at org.hibernate.hql.internal.ast.HqlSqlWalker.handleWithFragment(HqlSqlWalker.java:465)
at org.hibernate.hql.internal.ast.HqlSqlWalker.createFromJoinElement(HqlSqlWalker.java:413)
at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.joinElement(HqlSqlBaseWalker.java:3858)
at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:3644)
at …
Run Code Online (Sandbox Code Playgroud)

java orm hibernate jpa hql

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

database ×1

hibernate ×1

hql ×1

java ×1

jpa ×1

orm ×1

plpgsql ×1

postgresql ×1