问题标签 [activejdbc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
632 浏览

activejdbc - 使用 ActiveJDBC 时出现 sqlException

我使用 ActiveJDBC 和 Oracle 11g DB。当我使用 saveIt 时,我得到 java.sql.Exception。当我得到它的实例或列表时,一切正常。我做错了什么?

这是我的代码:

0 投票
1 回答
114 浏览

many-to-many - 删除多对多关系连接表中的条目

使用文档中的示例:我有通过连接表连接的医生和患者。现在我从医生那里删除了一个病人,效果很好,即连接表中的行消失了:

有没有一种方法可以检索剩余的(n-1)名患者而无需从数据库中重新加载 Doctor,即

在不重新加载医生的情况下执行此操作时,我仍然会得到刚刚删除的条目。缓存清除也不起作用。只有当我也从数据库重新加载医生时,删除的条目才消失。这是唯一可行的方法吗?

0 投票
1 回答
250 浏览

java - 如何在 ActiveJDBC 中通过超类和另一个模型之间的关联来实现继承模型?

我想建立这样的东西:

每个Thing人都有一个,并且只有一个Owner可以是GroupOR an User。这怎么可能?我是否必须让 Owner 不抽象才能让 ActiveJDBC 将 things-table 中的 owner_id-column 映射到所有者?但是它如何确定我们拥有什么样的所有者,因为http://javalite.io/inheritance说 ActiceJDBC 中没有实现单表继承。

0 投票
1 回答
122 浏览

java - 在 ActiveJDBC Model 构建过程中做额外的操作

我有一个带有一张表的数据库words,所以我Model在 ActiveJDBC 中是Word

当将数据库中的一行转换为Word模型时,我想执行一些额外的操作,例如将一些数据转换为枚举以进行更好的抽象。

我向模型添加了一个构造函数,该构造函数被适当地调用,但试图访问任何数据返回null。这是Word课程(缩短):

但我在日志中得到以下信息:

我需要能够将其中一些字段转换为枚举并以其他方式对其进行操作,以便更轻松地使用它。

我应该Word作为一个空班离开,例如:

并让另一个类在构造函数中使用它?这会产生很多不必要的麻烦,尤其是在使用...在 ActiveJDBC 中创建对象List<Word>期间操作数据的最佳方法是什么?Model

0 投票
1 回答
113 浏览

java - 使用泛型和 ActiveJDBC 模型

我正在尝试将记录列表转换为某个 Java 对象(因此,ActiveJDBC 模型转换为另一个 Java 类),但我希望能够为我的所有模型调用相同的方法并传递模型类型,例如:

我会这样称呼:

我明白了

M.findWith(...)

知道如何使它工作吗?

谢谢!

0 投票
1 回答
663 浏览

activejdbc - ActiveJDBC 批量插入和事务

如果数据库对任何插入产生错误,推荐的插入一批记录或不插入的方法是什么?这是我当前的代码:

这会插入记录,直到第一个失败(如果发生)。
我想要全部或全部插入,然后我正在考虑包装 executeBatch():

如果它是正确的,我应该做Base.rollbackTransaction()一些try catch吗?
我还应该关闭ps.close()一个finally块吗?

谢谢!

0 投票
1 回答
73 浏览

activejdbc - Truncate table with ActiveJDBC

What is the best way to truncate a table with ActiveJDBC? The Model class only has deleteAll().
So I guess I need to run a native SQL query, is Base.exec("TRUNCATE TABLE table1") the way to go?

Thanks.

0 投票
1 回答
43 浏览

activejdbc - ActiveJDBC 在包含 forEach/lambda 时不检测模型

在浪费了大量时间调查为什么我的一个模型类不再被检测之后,我意识到这行代码,来自我添加到我的模型的静态方法,是罪魁祸首:

为什么?
谢谢。

0 投票
2 回答
164 浏览

java - ActiveJDBC 数据模型返回元数据而不是数据

我正在使用 JavaLite ActiveJDBC 从本地 MySQL 服务器中提取数据。这是我的简单 RestController:

这是我的简单模型,它扩展了 ActiveJDBC 模型类:

现在,问题来了:当我导航到控制器处理的路径时,我得到了这个输出流:

我可以说这是关于返回对象的元数据,因为这些集群的数量会根据我的参数而变化 - 即,当我全选时,有四个,当我使用参数时,我得到的数字与符合条件的相同,当我拉第一个时只有一个。我究竟做错了什么?有趣的是,当我恢复到旧的数据源并使用旧的 Connection/PreparedStatement/ResultSet 时,我能够很好地提取数据,所以问题不会出现在我的 Tomcat 的 context.xml 或路径中基地开放。

0 投票
1 回答
323 浏览

activejdbc - ActiveJDBC @BelongsTo 加入?缓存?

假设我有一个模型 M1.java 包含
@BelongsTo(foreignKeyName = "m2_id", parent = M2.class)
,然后在加载 M1 之后我这样做
M2 myM2 = myM1.parent(M2.class)
我想进行一个额外的查询来获取 M2 对象(类似于 Hibernate FetchType.LAZY),我们如何在第一个查询上强制加入(加载 M1 对象)?

在不可能的情况下,或者在某些情况下我不想加入,是否会每次调用parent(M2.class)重新运行查询以加载 M2,还是会在第一次“获取”后缓存在 M1 对象中?

谢谢。

编辑:
我发现这个页面http://javalite.io/lazy_and_eagerinclude()解释说除非我使用该方法,否则不会缓存父级。
问题是当我使用它时,我在日志中看到使用一个查询来选择父母的查询,但我仍然看到额外的查询再次将它们一一加载!所以不是 O(2) 而不是 O(n+1),而是 O(n+2)!

日志

到底是怎么回事?