Java 我应该采用什么类型的列表从另一个表连接(内部)两个表
我有3个表用户、产品和订单Java 我应该采用什么类型的列表从另一个表连接(内部)两个表,java,sql,hibernate,jakarta-ee,Java,Sql,Hibernate,Jakarta Ee,我有3个表用户、产品和订单 USER: -----+-----------+------------+---------+----------+-----------+ u_id | username | password | contact | email | city | ------+-----------+------------+---------+---------+-----------+ PRODUCT: +------+----------+------
USER:
-----+-----------+------------+---------+----------+-----------+
u_id | username | password | contact | email | city |
------+-----------+------------+---------+---------+-----------+
PRODUCT:
+------+----------+--------------+------+--------------+
| p_id | category | listed_price | qty | description |
+------+----------+--------------+------+--------------+
ORDERS:
+------+--------+------+------+-----------+
| o_id | date | u_id | p_Id | order_qty |
+------+--------+------+------+-----------+
我想按以下顺序将用户表与产品以及o_id(来自订单)进行内部联接:
+-----------+-------+------+------+--------------+
| username | email | p_id | o_id | listed_price |
+-----------+-------+------+------+--------------+
我的SQL查询如下:
productList = (List<Object[]>) session.createSQLQuery(
"SELECT User.username, User.email, Orders.p_id, Orders.o_id, Product.listed_price " +
"FROM Orders " +
"INNER JOIN User " +
"ON User.u_id = Orders.u_id" +
"INNER JOIN Product " +
"ON Product.p_id = Orders.p_id " +
"WHERE Product.p_id = '"+p_id +"' " +
"ORDER BY User.username").list();
productList=(List)session.createSQLQuery(
选择User.username、User.email、Orders.p\u id、Orders.o\u id、Product.listed\u price+
“来自订单”+
“内部加入用户”+
“ON User.u\u id=订单.u\u id”+
“内部联接产品”+
“ON Product.p_id=Orders.p_id”+
“其中Product.p_id=”+p_id+“”+
“ORDER BY User.username”).list();
它将返回列表
。(对象数组列表),其中每个数组表示结果中的一行。值的索引基于select语句
在这里,您可以选择以下内容:
User.username, User.email, Orders.p_id, Orders.o_id, Product.listed_price
因此,每个对象数组中有5个元素。其中第一个元素是用户名,第二个元素是电子邮件,依此类推…从您的查询
“选择User.username、User.email、Orders.p\u id、Orders.o\u id、Product.listed\u price”
它将返回列表,您的查询风格存在很大的安全漏洞。永远不要用像这样的参数构建SQL字符串,谷歌“SQL注入”可以为你自己和你的雇主节省很多痛苦和专业赔偿保险..无法在JSP页面上获得输出。我在JSP页面中使用相同的列表来迭代vales,但无法在JSP页面上获取数据。事实上,调试后没有收到任何错误。@这可能是由于多个问题造成的。不看你的代码就很难猜出问题出在哪里。请看下面的代码片段链接。