【发布时间】:2014-02-20 18:53:49
【问题描述】:
程序是:
CREATE PROCEDURE `hw1_db_1`.`r2_browse_movies_by_title`(IN str_title VARCHAR(200))
BEGIN
SELECT * FROM `hw1_db_1`.`movies` WHERE title LIKE CONCAT('%', str_title, '%');
END
在Stateless EJB 中调用:
public List<Movie> searchTitles(String query) {
StoredProcedureQuery nq = em
.createStoredProcedureQuery("r2_browse_movies_by_title");
nq.registerStoredProcedureParameter("str_title", String.class,
ParameterMode.IN);
return nq.setParameter("str_title", query).getResultList(); // unchecked cast
}
不幸的是,它没有返回List<Movie>,而是返回带有电影属性的List<Object[]>。有什么方法可以返回 List<Movie> 吗?任何程序化的转换方式?
【问题讨论】: