アクティブレコードは、モデリングデータベースオブジェクトのアーキテクチャパターンです。このパターンでは、クラスは基礎となるデータベースの構造に非常によく一致します。
パターンは、以下の擬似コードで示すことができます。
product = new Product()
product.name = "Some Book"
product.price = 123.45
product.save()
次のSQLが結果になります。
INSERT INTO products (name, price) VALUES ('Some Book', 123.45);
Javaでは、activerecordパターンはあまり一般的ではありません。いくつかの実装がありますが:
ActiveRecordパターンはRailsによって広く普及しました。そこにはデフォルトのORMがあります。
コンベンション
Rails ActiveRecordは、クラス名がテーブル名にマッピングされ、フィールド名がフィールド名にマッピングされ、外部キーとプライマリキーにはそれに応じて名前を付ける必要があります。これらの規則は無効にすることができます。
クエリ
次のスキーマを持つ:
CREATE TABLE products (
id int(11) NOT NULL auto_increment,
name varchar(255),
PRIMARY KEY (id)
);
そして次のコード:
class Product < ApplicationRecord
end
p = Product.new
p.name = "Some Book"
p.save!
次の声明が出されます:
INSERT INTO products (name) VALUES ("Some Book");