java - 使用 NamedQuery 进行内连接?

标签 java sql inner-join entitymanager named-query

我需要从三个不同的表中获取数据并将其放入列表中。我想知道如何使用namedQuery 来做到这一点?我已经看到可以通过在线搜索来实现,但我就是无法让它工作。

SELECT
    Customer.name,
    Customer.adress,
    Orders.date,
    Orders.order_id,
    Product.product_name,
    Product.price
FROM
    Orders
    INNER JOIN Customer ON Customer.customer_id=Orders.customer_id
    INNER JOIN Product ON Product.product_id=Orders.product_id
ORDER BY
    Orders.date

这就是我想要转换为namedQuery 的内容。如果有人能把我踢向正确的方向,那就太好了。

最佳答案

似乎我不熟悉术语命名查询。 但这就是您在 SQL 中的做法

CREATE VIEW view_name AS
SELECT
    Customer.name,
    Customer.adress,
    Orders.date,
    Orders.order_id,
    Product.product_name,
    Product.price
FROM
    Orders
    INNER JOIN Customer ON Customer.customer_id=Orders.customer_id
    INNER JOIN Product ON Product.product_id=Orders.product_id
ORDER BY
    Orders.date

然后你就可以这样调用它

SELECT * FROM view_name

但请注意, View 中的 View 对性能来说非常糟糕。

关于java - 使用 NamedQuery 进行内连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10934098/

相关文章:

java - 为 Open MPI 构建 Java 接口(interface)

MYSQL连接3个表,其中一个是链接表

mysql - 返 repo 买日期在注册日期后 7 天内的所有结果

java - JUNIT 条件测试可能吗?

java - 如何使用构造函数将对象设置为现有对象?

sql - 自连接的解释

php - 我可以在另一个文件中运行 sql 查询吗?

mysql - 比较 MySQL 中的两个表

java - 未找到 JNI native 方法

mysql - 在 SQL 查询正则表达式中转义百分号?