gpt4 book ai didi

java - 带有 ActiveJDBC 的原始 SQL

转载 作者:行者123 更新时间:2023-12-01 22:29:46 27 4
gpt4 key购买 nike

看来使用ActiveJDBC是有很大限制的

我有三个表 a、b 和 c,它们都有文本列我想要所有这些表的并集

我试过了

LazyList<A> list = A.findBySQL("(select name as text from a) union (select version as text from b) union (select id as text from c)

我尝试过

LazyList<A> list = A.findBySQL("select a.* from ((select name as text from a) union (select version as text from b) union (select id as text from c)) as a");

都不起作用。还有其他方法可以得到这三个表的并集吗?

最佳答案

请记住,ActiveJDBC 是一种 ORM,查询返回的所有属性都必须与每个模型的表架构匹配。请参阅此处:Model#findBySQL()

具体来说,JavaDoc 指出:“确保查询返回与该模型关联的所有列,以便生成的模型能够正确地 self 补充”

这意味着您无法随意选择任何想要的内容,但查询必须仅选择与其前面的表相关的列。如果您只需要使用任何原始 SQL 并返回您需要的任何内容,则可能需要使用类 Base 或 DB。请参阅此 JavaDoc 了解更多信息:

Base#findAll()Base#find() .

阅读文档以确定哪种方法最适合您。

关于java - 带有 ActiveJDBC 的原始 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28053440/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com