ActiveRecord x DBPersistent

1 resposta
saoj

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.

1 Resposta

cv1

No AR, o modelo do banco de dados fica no banco de dados, e vc nao precisa repetir ele em Ruby. No codigo, mesmo, vc so especifica relacionamentos e condicoes de validacao ou existencia.

Criado 18 de agosto de 2005
Ultima resposta 18 de ago. de 2005
Respostas 1
Participantes 2