Primeros pasos con activerecord

##Java En Java, el patrón de registro activo no es muy popular. Aunque hay algunas implementaciones:

  • http://arjava.sourceforge.net/
  • http://javalite.io/
  • http://www.javalobby.org/articles/activeobjects/
  • http://www.jooq.org/

Ruby on Rails

Rails popularizó el patrón ActiveRecord. Es el ORM predeterminado allí.

Convenciones

Rails ActiveRecord se rige por convenciones: los nombres de las clases se asignan a los nombres de las tablas, los nombres de los campos se asignan a los nombres de los campos, las claves primarias y externas deben nombrarse en consecuencia. Estas convenciones se pueden anular.

Consulta

Teniendo el siguiente esquema:

CREATE TABLE products (
   id int(11) NOT NULL auto_increment,
   name varchar(255),
   PRIMARY KEY  (id)
);

Y el siguiente código:

class Product < ApplicationRecord
end
p = Product.new
p.name = "Some Book"
p.save!

Producirá la siguiente declaración:

INSERT INTO products (name) VALUES ("Some Book");

Pseudocódigo

El patrón se puede ilustrar con el siguiente pseudocódigo:

product = new Product()
product.name = "Some Book"
product.price = 123.45
product.save()

El siguiente SQL sería un resultado:

INSERT INTO products (name, price) VALUES ('Some Book', 123.45);