Playframework Apache Jena TDB的Play Framework 2配置
我正在构建一个play应用程序,并希望配置ApacheJena TDB,但是我也在该数据库和postgresql中的关系数据库之间进行交换。我已正确配置postgresql数据库。这是一个由两部分组成的问题:Playframework Apache Jena TDB的Play Framework 2配置,playframework,playframework-2.0,jena,Playframework,Playframework 2.0,Jena,我正在构建一个play应用程序,并希望配置ApacheJena TDB,但是我也在该数据库和postgresql中的关系数据库之间进行交换。我已正确配置postgresql数据库。这是一个由两部分组成的问题: 配置两个可交换使用(而不是同时使用)的数据库的最佳方法是什么。在重头戏2中似乎有两个常规选项,我可以在单独的服务器上配置数据库(似乎是并发运行数据库的最佳选项)。或者,我倾向于在数据库配置下配置两个数据库,然后为我想要使用的数据库设置一个全局对象,并在模型中使用if-else语句来确定使用
db.tdb.driver=org.apache.jena.jena-jdbc-driver-tdb
db.tdb.url="jdbc:jena:tdb:location=/localhost/application"
db.tdb.user=tdb
db.tdb.password=password
Brad我无法回答第1部分,因为我不知道Play框架,但作为Jena JDBC组件的主要开发人员,我可以尝试一下第2部分 您的连接设置看起来有点错误,其示例如下:
# Default database configuration
db.default.driver=org.h2.Driver
db.default.url=jdbc:h2:mem:play
因此,看起来您想要的是驱动程序的类名,而不是您使用的JAR名称,因此TDB配置应该大致如下所示:
db.tdb.driver=org.apache.jena.jdbc.tdb.TDBDriver
db.tdb.url=jdbc:jena:tdb:location=/localhost/application
而且不需要提供用户名/密码
还请注意,正如他们在文档中所描述的,您需要在文档之后添加TDB驱动程序JAR作为应用程序的附加依赖项
如果您仍然无法成功连接,那么这可能是由于一个已知的错误,Jena JDBC目前没有为Java服务提供商机制自动检测到的驱动程序公开适当的元信息,因此如果Play依赖于此,那么您可能无法在不初始化
TDBDriver
类的情况下建立连接。您可以在代码中调用TDBDriver.register()
,也可以利用注释中详述的jdbc.drivers
系统属性。您可以查看,这是一个剧本!1个插件,但它的目的是使使用Sesame或Jena作为游戏的DB变得容易!申请。谢谢你的链接!这将是下一步,将查询结果转换为java对象。然而,首先我需要连接数据库,它不是查询结果,它是一个ORM,或者更具体地说,是一个对象三重映射器。如果您熟悉JPA,它将实现JPA接口以将bean绑定到triplestore