- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包含一张表的数据库 words
,所以我的Model
在 ActiveJDBC 中是 Word
.
当数据库中的一行被转换为Word
时模型中,我想执行一些额外的操作,例如将一些数据转换为枚举以获得更好的抽象。
我向模型添加了一个构造函数,该构造函数被适当调用,但尝试访问任何数据都会返回 null
。这是Word
类(缩写):
public class Word extends Model {
private static final Logger log = LogManager.getLogger(Word.class);
public static final String SPELLING = "ortho";
public Word() {
log.info("In constructor");
log.info("Word spelling: " + getSpelling());
}
public String getSpelling() {
return this.getString(SPELLING);
}
}
但我在日志中得到以下内容:
10:31:49.372 [main] INFO Word - In constructor
10:31:49.373 [main] INFO Word - Word spelling: null
我需要能够将其中一些字段转换为枚举并以其他方式操作它,以便更轻松地使用它。
我应该离开吗Word
作为空类,例如:
public class Word extends Model {}
并且让另一个类在构造函数中接受它?这会产生很多不必要的麻烦,特别是在使用 List<Word>
时。 ... Model
期间操作数据的最佳方式是什么?在 ActiveJDBC 中创建对象?
最佳答案
您需要使用 CallbackListener 或 CallbackAdapter
请参阅Lifecycle Callbacks页。
您的 SPELLING 为 null
的原因是因为在创建模型时,尚未设置属性值。
你需要的是这样的:
public class Word extends Model{
public void afterLoad(){
String spelling = getString(SPELLING); //you have data now
}
}
关于java - 在 ActiveJDBC 模型构建过程中执行附加操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32540837/
我在使用 activejdbc 并且: 我有 3 个模型:City 属于 State 属于 Country,好吗?我这样做: Paginator p = new Paginator(City.clas
今天我发现了一些有趣的库 - ActiveJDBC .它提供了类似 RoR 的 ActiveRecord 接口(interface),我正在考虑替换 Hibernate,但有一个问题 - Active
您正在尝试使用模型,但未找到模型。也许您的项目中没有模型,或者您没有检测模型。预计您在类路径上有一个文件 activejdbc_models.properties Caused by: activej
晚上好,我正在尝试更新现有记录的连接表属性。我有两个模型,一个称为 Records,另一个称为 Shoppingcarts。它们通过名为 records_shoppingcarts 的连接表连接。我向
我想使用activejdbc更新多条记录 Person.update("name = ?, last_name = ?", "name in ?", "Steve", "Johnson", "jaga
我想从多个表中进行选择并使用 ActiveJDBC 将结果转换为 json http://javalite.io/record_selection 我可以执行以下操作,但它当然只会返回模型书中的列,我
我无法急切地加载子类的多态父类。 include 语句似乎没有什么区别。 子类: @BelongsToPolymorphic( parents = {ParentRequest.class},
我有一张表,其中有多个与其他表的多对多关联。表和列的名称有点困惑,所以我必须使用@Many2Many-Annotation。但我不能使用这个注释两次?! 处理这个问题的推荐方法是什么? 最佳答案 抱歉
我正在使用 JavaLite ActiveJDBC 从本地 MySQL 服务器提取数据。这是我的简单 RestController: @RequestMapping(value = "/blogs")
如果理解正确,ActiveJdbc 编译器应该像这样将空心类作为输入 public class Employee extends Model {} 并用数据库元数据中的一些代码填充它。 但是它怎么知道
有没有办法使用 ActiveJDBC 将旧列映射到不同的名称?我的用例涉及旧数据库 - 我有 date_created 和 last_updated 我想将其用作created_at 和 Update
情况是这样的。我有一个包含多个多对多关系的表。 game (id, name, year_release ...) game_price (game_id, price_id, amount) pri
我有 3 个表: person (person_id, person_name), game (game_id, game_name) 和链接表 play(person_id, game_id, sc
我尝试将 ActiveJDBC 与旧数据库一起使用,其中表和列的名称中通常包含连字符。这对于 SELECT 来说没问题,因为我可以引用标识符(例如 Model.where("\"stupid-name
@Override public Long createPost(Request request) { Base.open(); ObjectMapper mapper = new O
我有一个包含 Insert 语句的 SQL 脚本(大约 100 行,将来可能会增加),我想使用 ActiveJDBC 执行该脚本。有办法做到吗? 最佳答案 是的,请参阅:http://javalite
我正在尝试将记录列表转换为某个 Java 对象(因此,将 ActiveJDBC 模型转换为另一个 Java 类),但我希望能够为所有模型调用相同的方法并传递模型类型,例如: private List
我有一个包含一张表的数据库 words ,所以我的Model在 ActiveJDBC 中是 Word . 当数据库中的一行被转换为Word时模型中,我想执行一些额外的操作,例如将一些数据转换为枚举以获
当我尝试使用defineClass(findClass URLClassLoader或 self 实现类加载器)连接我的模型类时,发生异常。 任何其他方法都正在加载我的模型,但不允许动态重载类。 @T
我正在尝试将 ActiveJDBC 与 HSQLDB 结合使用: Base.open("org.hsqldb.jdbc.JDBCDriver", "jdbc:hsqldb:file:queen-db;
我是一名优秀的程序员,十分优秀!