【问题标题】:PostGIS Queries and CayennePostGIS 查询和 Cayenne
【发布时间】:2011-08-30 15:57:40
【问题描述】:
我刚刚开始评估 Cayenne 与我的 PostGIS 数据库一起使用的情况。我发现 CayenneModeler 非常易于使用,以便为我的持久类生成代码。我认为使用 Expression.fromString("...") 可以让我使用 PostGIS 函数制作表达式,但我收到 ExpressionParser 错误。进一步阅读后,看起来我可能需要一个 PostGIS 数据库适配器。有谁知道可以免费下载的存在或解决此问题的方法?非常感谢。
【问题讨论】:
标签:
postgis
apache-cayenne
【解决方案1】:
查看源代码,这些是当前支持/提供的数据库适配器:
$ ls -l org/apache/cayenne/dba/ | grep ^d
drwxr-xr-x 2 zeratul zeratul 4096 2010-11-11 16:15 db2
drwxr-xr-x 2 zeratul zeratul 4096 2010-11-11 16:15 derby
drwxr-xr-x 2 zeratul zeratul 4096 2010-11-11 16:15 frontbase
drwxr-xr-x 2 zeratul zeratul 4096 2010-11-11 16:15 h2
drwxr-xr-x 2 zeratul zeratul 4096 2010-11-11 16:15 hsqldb
drwxr-xr-x 2 zeratul zeratul 4096 2010-11-11 16:15 ingres
drwxr-xr-x 2 zeratul zeratul 4096 2010-11-11 16:15 mysql
drwxr-xr-x 2 zeratul zeratul 4096 2010-11-11 16:15 openbase
drwxr-xr-x 2 zeratul zeratul 4096 2010-11-11 16:15 oracle
drwxr-xr-x 2 zeratul zeratul 4096 2010-11-11 16:15 postgres
drwxr-xr-x 2 zeratul zeratul 4096 2010-11-11 16:15 sqlite
drwxr-xr-x 2 zeratul zeratul 4096 2010-11-11 16:15 sqlserver
drwxr-xr-x 2 zeratul zeratul 4096 2010-11-11 16:15 sybase
Cayenne 提供抽象和适配器提供商特定的翻译。所以,是的,你需要它是对的。您可能希望扩展 PostgreSQL 适配器,因为 PostGIS 在 Postgres 上构建。
如果您对 BNF 有所了解,这里是表达式解析器可识别的语言 formal grammar。