Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用搜索Bean表示查询的优雅方式是什么?_Java_Javabeans - Fatal编程技术网

Java 用搜索Bean表示查询的优雅方式是什么?

Java 用搜索Bean表示查询的优雅方式是什么?,java,javabeans,Java,Javabeans,在我们的项目中,我们有一个bean,但我们也希望在该bean上表达标准的CRUD查询。我们希望能够过滤某些字段(范围、相等、排除等)。现在我们正在考虑使用一个SearchBean来表示这样一组过滤器。然而,我们意识到这个搜索bean几乎与我们实际的bean相同,我们很难想出一个更优雅的解决方案 解决这个问题的好方法是什么?我们不寻求任何特定于框架的解决方案 恐怕这个问题太开放了,无法给出一个好的答案。这取决于你的目标是什么。另外,您没有明确提到您正在使用数据库(与搜索内存相反),但我假设您正在使

在我们的项目中,我们有一个bean,但我们也希望在该bean上表达标准的CRUD查询。我们希望能够过滤某些字段(范围、相等、排除等)。现在我们正在考虑使用一个SearchBean来表示这样一组过滤器。然而,我们意识到这个搜索bean几乎与我们实际的bean相同,我们很难想出一个更优雅的解决方案


解决这个问题的好方法是什么?我们不寻求任何特定于框架的解决方案

恐怕这个问题太开放了,无法给出一个好的答案。这取决于你的目标是什么。另外,您没有明确提到您正在使用数据库(与搜索内存相反),但我假设您正在使用数据库

你的方法(FindentiesLikeMe)听起来是一个很好的简单方法

有很多查询语言(JPQL/SQL/etc)可以实现(可以通过清理查询并将其传递到较低的层,也可以通过直接解析查询)

如果您的服务器结构足够像树,那么您可以接受XPath并返回与XPath匹配的对象空间

这三种方法都提供了范围、相等和排除。我的建议是保持它的简单(你所拥有的听起来很好),直到它崩溃(要么是由于性能,要么是复杂的客户端API,要么是缺乏灵活性),然后换成更好的


最终,一种成熟的查询语言可能会给您带来最大的灵活性,但也可能是最难实现的,特别是当您正在解析查询,而不是将其传递到较低的层时。

我担心这个问题过于开放,无法给出一个好的答案。这取决于你的目标是什么。另外,您没有明确提到您正在使用数据库(与搜索内存相反),但我假设您正在使用数据库

你的方法(FindentiesLikeMe)听起来是一个很好的简单方法

有很多查询语言(JPQL/SQL/etc)可以实现(可以通过清理查询并将其传递到较低的层,也可以通过直接解析查询)

如果您的服务器结构足够像树,那么您可以接受XPath并返回与XPath匹配的对象空间

这三种方法都提供了范围、相等和排除。我的建议是保持它的简单(你所拥有的听起来很好),直到它崩溃(要么是由于性能,要么是复杂的客户端API,要么是缺乏灵活性),然后换成更好的


最终,一种成熟的查询语言可能会给您带来最大的灵活性,但可能是最难实现的,特别是当您正在解析查询,而不是将其传递到较低的层时。

假设您希望在应用程序服务器中处理它。 你可以考虑使用 番石榴系列

或 收藏品

而这种豆子是由豆荚制成的


您必须为要支持的过滤器类型实现谓词类

假设您希望在应用程序服务器中处理它。 你可以考虑使用 番石榴系列

或 收藏品

而这种豆子是由豆荚制成的

您必须为要支持的过滤器类型实现谓词类