子选择、连接和 O/R 映射

发布于 2024-11-17 04:38:07 字数 664 浏览 3 评论 0原文

我正在关注 struts 2 和 hibernate 5。 我有两个表 A 和 B,具有不同的主键 A_ID 和 B_ID。 它们有共同的列,如型号、名称。

在我的 hbm 文件中,我没有引用上述任何表,而是有一个连接两个表的子选择查询。

hbm 文件中的映射是

<id name="a_id" column="A_ID" />

<property name="b_model" column="B_model"/>

当我运行休眠查询时生成的。我在 MySql 中得到以下输出

A_Id    B_model other columns
111     3131
222     2121
222     4141
333     5151

但是执行查询时返回的列表是

list(0) = 111 and 3131
list(1) = 222 and 2121
list(2) = 222 and **2121**
list(3) = 333 and 5151.

我的问题是为什么 list(2) 没有 4141 而不是 2121。

请让我知道我应该做什么才能获得我需要的相同(即)列表(2)中的4141。

提前致谢。

i am following struts 2 and hibernate 5.
I have two tables A and B with different primary keys A_ID and B_ID.
They have common columns like model, name.

In my hbm file, I didnt refer to any of the above tables instead I have a subselect query which joins the two tables.

The mappings in the hbm file is

<id name="a_id" column="A_ID" />

<property name="b_model" column="B_model"/>

When i ran the hibernate query generated. I got the following output in MySql

A_Id    B_model other columns
111     3131
222     2121
222     4141
333     5151

But the list returned when the query is executed is

list(0) = 111 and 3131
list(1) = 222 and 2121
list(2) = 222 and **2121**
list(3) = 333 and 5151.

My question is why didnt list(2) didnt have 4141 instead of 2121.

And please let me know what i should to get the same (i.e) i need 4141 in list(2).

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

晨曦慕雪 2024-11-24 04:38:07

正如我猜测的那样,元组作为对象返回。因此,对于 A-Id 222,B_mod 设置为 2121。我使用 row_num() 函数获取每行的不同行号,并将其用作主键列来获取所有行。这可能不是一个精确的解决方案,但仍然有效:-)

As i guessed the tuples are returned as objects. Hence for A-Id 222 the B_mod is set as 2121. I used row_num() function to get distinct row nums for each row and used it as a primary key column to get all the rows. This may not be an exact solution but still it worked :-)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文