Sou ignorante em Ruby, Rails e ActiveRecord, logo estou fazendo essa pergunta para aprender.
Qual a diferença do ActiveRecord do RoR para um DBPersistent em Java ???
public class DBInviteImpl extends DBPersistent implements Invite {
private IntField id = new AutoIncrementField(this, "id", true); // true = PK
private StringField email = new StringField(this, "email");
private DateTimeField senddate = new DateTimeField(this, "senddate");
public static Invite getInstance() {
return new DBInviteImpl();
}
protected DBInviteImpl() { }
// isso aqui pode virar injection...
public ConnectionHandler getConnectionHandler() {
return DefaultConnectionHandler.getInstance();
}
public String getTableName() { return "invites"; }
public void setId(int id) { this.id.setValue(id); }
public int getId() { return id.getValue(); }
public void setEmail(String email) { this.email.setValue(email); }
public String getEmail() { return email.getValue(); }
public void setSendDate(Date senddate) { this.senddate.setValue(senddate); }
public Date getSendDate() { return senddate.getValue(); }
}
Invite inv = DBInviteImpl.getInstance();
inv.setEmail("[email removido]");
inv.update();
// etc...
A única diferença que eu vi é que com AR vc não precisa codificar setters/getters, mas isso tb não seria muito difícil de fazer no DBPersistent com reflection.