activerecordAan de slag met activerecord


Opmerkingen

Actief record is een architecturaal patroon van het modelleren van databaseobjecten. In dit patroon komen klassen zeer nauw overeen met de structuur van de onderliggende database.

pseudocode

Het patroon kan worden geïllustreerd met de volgende pseudocode:

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

De volgende SQL zou een gevolg zijn:

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

Java

In Java is het activerecord-patroon niet erg populair. Hoewel er enkele implementaties zijn:

Ruby on Rails

Het ActiveRecord-patroon werd gepopulariseerd door Rails. Het is daar de standaard ORM.

Conventies

Rails ActiveRecord wordt bepaald door conventies: klassenamen worden toegewezen aan tabelnamen, veldnamen worden toegewezen aan veldnamen, buitenlandse en primaire sleutels moeten dienovereenkomstig worden benoemd. Deze conventies kunnen worden opgeheven.

vraag

Het volgende schema hebben:

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

En de volgende code:

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

Zal de volgende verklaring produceren:

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