如何在上述场景中使用命名参数?

时间:2012-03-02 12:37:17

标签: java oracle spring hibernate

我正在使用hibernate。我需要动态添加where条件。我发送字符串列表            select * from employee

现在我需要将where条件添加为:
 select * from employee where name like :somename or name like:othername

此处somenameothername是命名参数。值从字符串列表中设置 在这种情况下,列表可以包含两个字符串,以便对于两个命名参数,可以设置值。

如何为命名参数使用名称?

现在我正在使用两个命名参数的字符串列表并设置它们的值  问题是使用命名参数的限制很少。

命名参数不应包含特殊字符( - ,/和空格)。也称为param的长度不应超过30个字符

如果我的字符串列表中有任何带有上述特殊字符的名称或者其长度超过30个字符,则如果将此字符串用作命名参数,则抛出异常。

如何为列表中的每个字符串使用命名参数?

1 个答案:

答案 0 :(得分:0)

您是否尝试过使用Criteria API http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/querycriteria.html

选择一堆“where”不应该是标准API的问题.. 只关心LIKE%

然后检查一下,告诉我你是否需要更多细节。 http://www.javalobby.org/articles/hibernatequery102/