使用FlexibleSearchService Hybris在数据库表中搜索

罗伯特·瓦西勒

我尝试使DAO在数据库表中搜索一个项目所需的内容。我是Hybris的新手,所以我不知道到底是哪里出了问题(查询或我的垃圾代码)。那就是出现在cmd中的错误。

严重:路径为[]的Servlet [DispatcherServlet]的Servlet.service()抛出异常[请求处理失败;嵌套异常是de.hybris.platform.servicelayer.search.exceptions.FlexibleSearchException:SQL搜索错误-启用属性'flexible.search.exception.show.query.details'了解更多详细信息],其根本原因是java.sql.SQLException: getLong()的值无效

那是我的DAO类的实现

@Component(value = "arbRedirectHttpTypeDao")
public class ArbRedirectHttpTypeDaoImpl implements ArbRedirectHttpTypeDao {

private static final Logger LOG = Logger.getLogger(ArbRedirectHttpTypeDaoImpl.class);

@Autowired
private FlexibleSearchService flexibleSearchService;

public FlexibleSearchService getFlexibleSearchService() {
    return flexibleSearchService;
}

public void setFlexibleSearchService(FlexibleSearchService flexibleSearchService) {
    this.flexibleSearchService = flexibleSearchService;
}

@Override
public ArbRedirectHttpTypeModel findNewUrlByOldUrl(String oldUrl) {

    final String query = "SELECT {"+ ArbRedirectHttpTypeModel.NEWURL +"}"
            + " FROM {"+ ArbRedirectHttpTypeModel._TYPECODE +"} WHERE {"
            + ArbRedirectHttpTypeModel.OLDURL +"}=?oldUrl";

    final FlexibleSearchQuery flexibleSearchQuery = new FlexibleSearchQuery(query);

    flexibleSearchQuery.addQueryParameter("oldUrl", oldUrl);

    final List<ArbRedirectHttpTypeModel> locationsByCode = flexibleSearchService
            .<ArbRedirectHttpTypeModel> search(flexibleSearchQuery)
            .getResult();

    LOG.info("-------------------------------------" + locationsByCode.get(0));
    if (locationsByCode != null && !locationsByCode.isEmpty())
    {
        return locationsByCode.get(0);
    }
    else
    {
        return null;
    }

}
}

在这里我尝试称呼它

 @Resource
 private ArbRedirectHttpTypeDao arbRedirectHttpTypeDao;
ArbRedirectHttpTypeModel arbRedirectHttpTypeModel = arbRedirectHttpTypeDao.findNewUrlByOldUrl("/Aapuvdc");
拍拍

使用“ SELECT {” + ArbRedirectHttpTypeModel.PK +“}”。它将返回对象,您可以通过getter获取所有属性

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用存储在数据库表中的属性配置Spring Bean

与JPA一起使用时,如何让Hibernate在数据库中自动创建表?

使用C#编辑DataGridview并将其保存在数据库表中

使用sqlite.swift在数据库中搜索特定行

在SQLite中使用乱码在数据库中搜索

如何使用光标在数据库中搜索长类型

使用prepare语句在数据库中搜索数据

使用SELECT MYSQL查询在数据库中搜索逗号分隔的值

如何使用HTML中的选择框在数据库中搜索特定用户并在表上显示该信息?

无法在C中使用libpq在数据库中创建表

如何使用for循环在数据库表中插入多个记录

如何使用Laravel在数据库中搜索未知的属性名称

使用PHP和MYSQLI在数据库中搜索匹配结果

将特定字母替换为范围数字,并使用php在数据库中搜索

使用JSP在数据库中搜索数据

如何使用jQuery在数据库中创建表

如何使用Hibernate中的Example类在数据库中搜索相似实体

搜索在数据库中使用*作为通配符

在数据库中搜索文本(使用Hibernate Search)

如何使用字符串参数在数据库中搜索

使用jQuery在数据库中删除项目后删除表行

用户输入和数据库包含'%',并使用LIKE'%xx%'在数据库中搜索输入

使用数据库中的记录在数据表中设置单选按钮

无法使用 Django oracle12c 在数据库中创建表

如何使用laravel在数据表中显示我的数据库记录

无法使用 Hibernate 在数据库中创建表

如何使用Node JS、Postgres和dust js在数据库中搜索数据

使用php ajax在数据库中插入和更新不同的表

无法使用 Spring Boot 和 JPA 在数据库中创建表