小编sti*_*ure的帖子

Google App Engine上的Retrolambda

是否有人使用Retrolambda进行Google App Engine项目?你的pom.xml是什么样的?

编译JDK8并设置retrolambda的maven插件非常简单.但是,为了部署到GAE,Google的appengine-maven-plugin需要在JDK7下运行,否则它会将JSP文件编译成一种在生产中断的格式.

我如何使用JDK8 + retrolambda进行编译,但JDK7用于appengine:update?

google-app-engine maven-3 maven appengine-maven-plugin retrolambda

5
推荐指数
1
解决办法
176
查看次数

是否有可能使用jOOQ生成的记录类进行增补?

insertInto().onDuplicateKeyUpdate()如果要使用DSL手动编写插入内容,可以执行,但是生成的Record类上是否有等效项?

java sql upsert jooq

5
推荐指数
1
解决办法
557
查看次数

如何在jOOQ的WHERE条件下使用Postgres JSON运算符?

我有一个JSONB列,其中包含字符串数组,例如: ["foo", "bar"]

我想写jOOQ等效于:

SELECT * FROM sometable WHERE somecolumn ?| <mylist>

...应绑定到字符串标记名称的Java列表。

似乎没有直接支持?|。在jOOQ 3.8中。我已经看过在某种情况下绑定到原始sql了,但是我不太确定其语法。如果尝试使用?与绑定表达式冲突的postgres运算符,则情况甚至更糟。

更新:3.8.3中的stacktrace

我将其简化为最小测试。使用jOOQ 3.8.3添加这样的条件时:

query.addConditions(DSL.condition("sometable.tags ?| array['sometag']"));
Run Code Online (Sandbox Code Playgroud)

产生如下的堆栈跟踪:

Caused by: org.postgresql.util.PSQLException: No value specified for parameter 1.
    at org.postgresql.core.v3.SimpleParameterList.checkAllParametersSet(SimpleParameterList.java:228)
    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:163)
    at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:622)
    at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:472)
    at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:465)
    at org.jooq.tools.jdbc.DefaultPreparedStatement.execute(DefaultPreparedStatement.java:194)
    at org.jooq.impl.AbstractResultQuery.execute(AbstractResultQuery.java:269)
    at org.jooq.impl.AbstractQuery.execute(AbstractQuery.java:348)
    ... 36 more
Run Code Online (Sandbox Code Playgroud)

postgresql json jooq

5
推荐指数
1
解决办法
1080
查看次数

如何获取lxml.etree._ElementTree对象的父路径

使用 lxml 库我已经客观化了一些元素(下面的示例代码)

config = objectify.Element("config")
gui = objectify.Element("gui")
color = objectify.Element("color")
gui.append(color)
config.append(gui)
config.gui.color.active = "red"
config.gui.color.readonly = "black"
config.gui.color.match = "grey"
Run Code Online (Sandbox Code Playgroud)

结果是以下结构

config
config.gui
config.gui.color
config.gui.color.active
config.gui.color.readonly
config.gui.color.match
Run Code Online (Sandbox Code Playgroud)

我可以获得每个对象的完整路径

for element in config.iter():
print(element.getroottree().getpath(element))
Run Code Online (Sandbox Code Playgroud)

路径元素由斜杠分隔,但这不是问题。我不知道如何才能只获取路径的父部分,以便我可以使用 setattr 来更改给定元素的值

例如对于元素

config.gui.color.active
Run Code Online (Sandbox Code Playgroud)

我想输入命令

setattr(config.gui.color, 'active', 'something')
Run Code Online (Sandbox Code Playgroud)

但不知道如何获取完整路径的“父”部分。

python lxml lxml.objectify

3
推荐指数
1
解决办法
2087
查看次数

Postgresql:如何对 json 数组执行 LIKE 查询?

我有一个标签存储为 JSONB 列的表。喜欢:

id   tags
---- ------------------------------
1    ["red", "blue"]
2    ["orange", "light pink"]
3    ["pink", "green"]
Run Code Online (Sandbox Code Playgroud)

我想选择包含与模式部分匹配的标签的行——在我的情况下,我想要其中带有空格的标签。类似的东西SELECT * FROM the_table WHERE tags LIKE '% %'。将数组转换为文本几乎可以工作,除了所有匹配项,因为 Postgres 在输出 JSON 中的逗号后放置一个空格。

postgresql json jsonb

2
推荐指数
1
解决办法
3527
查看次数