Hibernate HQL 查询:如何将集合设置为具有组合键的查询的命名参数?
给定以下 HQL 查询:
from Foo foo where foo.id in (:fooIds)
但这里我在 Id ex 中有复合键,我们有两个 PK1 和 pk2 作为 Id。
我们如何实现这个查询..
我如何在查询的setparameters函数中传递两个参数
我的问题与此类似问题
包含复合密钥的 HBM 文件如下
<?xml version="1.0"?>
<composite-id>
<key-property name="foo1" column="FOO1" type="java.lang.String" length="36"/>
<key-property name="foo2" column="FOO2" type="java.lang.Short" />
</composite-id>
<property name="EffectiveDt" type="java.sql.Date" column="EFFECTIVE_DT" />
<property name="effectiveTypeCd" type="java.lang.String" column="CERT_EFF_TYPE_CD" />
<property name="statusCd" type="java.lang.String" column="CERT_STATUS_CD" />
</class>
Given the following HQL Query:
from Foo foo where foo.id in (:fooIds)
but here i have composite key in the Id ex we have two PK1 and pk2 as Id's.
How can we implement this query..
how can i pass both paramets in setparameters function of query
My question is similar this question
HBM file containing composite key is present below
<?xml version="1.0"?>
<composite-id>
<key-property name="foo1" column="FOO1" type="java.lang.String" length="36"/>
<key-property name="foo2" column="FOO2" type="java.lang.Short" />
</composite-id>
<property name="EffectiveDt" type="java.sql.Date" column="EFFECTIVE_DT" />
<property name="effectiveTypeCd" type="java.lang.String" column="CERT_EFF_TYPE_CD" />
<property name="statusCd" type="java.lang.String" column="CERT_STATUS_CD" />
</class>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您使用的是复合 ID 吗?您是否有一个单独的类来表示复合 ID,或者您在 Foo 中是否有 2 个字段并且您想在查询中使用它们进行搜索?
发布你的 Foo 类会有帮助!
Are you using a composite id? Do you have a separate class representing the composite-id or do you have 2 fields in Foo and you want to search using them in your query?
Posting you Foo class would help!
我不能 100% 确定在这种情况下您可以使用
in
。您可以做的一件事是使用类似的内容手动构建查询您可能需要仔细检查代码,因为我在这里编写它,所以很可能有一两个拼写错误。
I'm not 100% sure you can use
in
in this case. One thing you can do is to build the query manually with something likeYou might want to double check the code, as I'm writing it here, so there's a big chance there's a typo or two.