我需要在数据库中存储逻辑条件。例如:(condition1 || condition2) && condition3
应该存储在数据库中。
我打算设计一个表[ExpressionTree]来处理结构:
Id
condition
combinationId
nextId(FK->[Condition2Combination.Id])
operator (AND, OR, null)
如果表[ExpressionTree]中的(condition1 || condition2) && condition3,记录应该是:
Id conditionId combinationId nextId operator
1 condition1 combination1 2 OR
2 condition2 combination1 3 AND
3 condition3 combination1 null null
但解决方案不好,您有什么建议?谢谢!
最佳答案
除非您实际上要对表达式树执行数据库查询,否则我倾向于将表达式存储为文本列……并根据需要在客户端解析它们。
关于java - 在数据库中存储表达式树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5026322/