我想用hibernate从PostgreSQL调用存储过程。但是,如果我通过entitymanager.getResultList调用此过程,它将返回一个具有奇怪属性名称的对象列表。 过程:
CREATE OR REPLACE FUNCTION public.show_top10()
RETURNS SETOF users
AS
$BODY$
SELECT * FROM users
ORDER BY message_count DESC
LIMIT 10;
$BODY$
LANGUAGE sql VOLATILE;
用户的属性:
private Integer id;
private String login;
private String password;
private Timestamp dateCreated;
private Long messageCount;
private Integer role;
private Collection<Message> messagesById;
通话:
List<Users> result = null;
StoredProcedureQuery storedProcedureQuery= entityManager.createStoredProcedureQuery("show_top10");
storedProcedureQuery.execute();
result = storedProcedureQuery.getResultList();
entityManager.getTransaction().commit();
结果:
答案 0 :(得分:0)
你有什么期望?
您的SP从ResultSet
查询返回SELECT
,有10条记录
SQL本身只返回值,不是字段名称......
更多 - 为什么您是否创建了一个返回ResultSet
的SQL函数?