我有域对象项,其中包含字段 id、名称、父项和类别(布尔值)。所以我在数据库中插入值,如:
id 名称 parentItem 类别
1 工具 NULL 1
2 电动工具 1 1
3 小工具 2 1
4 实际工具结束子项 3 0
所以实际项目在类别/路径“工具/电动工具/小工具”中
所以我需要通过 categoryName/categoryPath 实现惰性过滤器搜索。例如:如果用户在 dataTable 过滤器“Electric”中输入,我需要返回“Electric tools”类别中的所有项目以及子类别中的所有项目(在本例中为 Small tools 和所有其他如果存在)。
所以目前我在 java 域对象 @Transient 字段中使用递归来获取项目路径。但我不能按瞬态字段搜索。我的意思是我不能在数据库中实现搜索,因为这个字段是:
1.瞬态
2.使用递归,如果我需要在其他 db 版本上部署应用程序,我将不得不在 db 上重写递归 sql 或其他东西。我不喜欢这个
谁能指出我一些聪明、独特的解决方案?任何想法,建议表示赞赏。谢谢!