activerecord

Getting started with activerecord

Remarks#

Active record is an architectural pattern of modeling database objects. In this pattern classes match very closely the structure of underlying database.

Java

In Java, activerecord pattern isn’t very popular. Though there are some implementations:

Ruby on Rails

ActiveRecord pattern was popularized by Rails. It’s the default ORM there.

Conventions

Rails ActiveRecord is driven by conventions: class names are mapped to table names, field names are mapped to field names, foreign and primary keys should be named accordingly. These conventions can be overridden.

Query

Having the following schema:

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

And the following code:

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

Will produce the following statement:

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

Pseudocode

The pattern can be illustrated by the following pseudocode:

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

The following SQL would be a result:

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

This modified text is an extract of the original Stack Overflow Documentation created by the contributors and released under CC BY-SA 3.0 This website is not affiliated with Stack Overflow