我想要一个带有两个参数的spring数据存储库接口.有没有办法让它有以下行为?
MyObject findByParameterOneAndParameterTwo( String parameterOne, String parameterTwo);
Run Code Online (Sandbox Code Playgroud)
如果两个参数都有一个值,我希望它能正常运行并为两个值执行"AND".
例如,如果第二个参数为null,则它仅搜索ParameterOne
有什么建议?
我在Dao类中有一个返回的方法List<Object[]>,我使用的是命名查询
public List<Object[]> getListByCustomer(Session session, int customerId, List<Integer> strIds) {
Query namedQuery = session.createSQLQuery(QueryConstants.EXPORT);
namedQuery.setParameter("customer", customerId);
namedQuery.setParameter("stringId", strIds);
List<Object[]> objects = namedQuery.list();
return objects;
}
Run Code Online (Sandbox Code Playgroud)
我想将List<Integer> strIdsstringId 传递给命名查询,如下所示:
public class QueryConstants {
public static final String EXPORT =
"SELECT sv.NAME, sv.TYPE, sv.CLIENT_ADDRESS, sv.NAME_REDUNDANT, sv.DEPARTURE_DATE, s1.CODE,sv.STATE, sv.CODE "
+ "FROM VIEW sv, PROCESS p1, SET s1 "
+ "WHERE sv.R_ID = p1.R_ID and p1.ISSUER_ID = s1.USER_ID and sv.CUSTOMER_ID = :customer and sv.R_ID IN (:stringId)";
}
Run Code Online (Sandbox Code Playgroud)
但我明白了 ORA-00932: …