我有一个问题。
我有 SQL,我需要附加不同类型的“限制”,甚至进行连接。这取决于用户的搜索条件。
该 SQL 将涉及不同的表,因为它可以搜索一对多的关系,因此休眠 ORM 不能支持我的要求。
请问是否有设计模式可以帮助构建此类 SQL 语句?
我有一个问题。
我有 SQL,我需要附加不同类型的“限制”,甚至进行连接。这取决于用户的搜索条件。
该 SQL 将涉及不同的表,因为它可以搜索一对多的关系,因此休眠 ORM 不能支持我的要求。
请问是否有设计模式可以帮助构建此类 SQL 语句?
我确实有一个类似的要求,我有一种无上下文的语言来定义搜索条件,解析ParseEntry
为ParseTree
类似于Restrictions
. 我使用 aSQLQueryGeneratorVisitor
访问解析表并生成 SQL 查询,HibernateCriteriaGeneratorVisitor
如果需要为单个实体生成条件,则类似于 a。因此,我基本上使用了访问者模式,使解析树和条目可访问,以便可以生成不同类型的条件(SQL/Hibernate 或将来的其他东西)。