ORM Flashcards
What is ORM?
Object relational mapping
Vad används ORM för?
är en teknik som används inom programmering för att förenkla interaktionen mellan ett objektorienterat programspråk (t.ex. Java, Python, C#) och en relationsdatabas (t.ex. MySQL, PostgreSQL)
Med ORM kan du hantera…
Med ORM kan du hantera databastabeller som objekt i din kod. Det innebär att istället för att skriva SQL-frågor manuellt för att hämta, spara, uppdatera eller ta bort data i databasen, kan du använda objekt och metoder direkt i ditt programspråk.
Tabeller ↔ Klasser
Varje tabell i databasen mappas till en klass i ditt objektorienterade språk.
Rader ↔ Objekt
Varje rad i tabellen mappas till ett objekt av klassen.
Kolumner ↔ Attribut
Kolumner i tabellen motsvarar attribut (fält) i objektet.
SQL-frågor automatiseras
ORM-ramverket genererar och exekverar SQL-frågor bakom kulisserna baserat på de operationer du utför på objekten.
Fördelar med ORM
Mindre SQL-kod: Du behöver inte skriva SQL manuellt, vilket sparar tid och minskar risken för fel.
Objektorienterat arbetssätt: Du kan arbeta med databasen på ett sätt som är naturligt för objektorienterade programmerare.
Databasanpassning: ORM hanterar skillnader mellan olika databassystem.
Lättare att underhålla: Koden blir ofta mer läsbar och lätt att underhålla.
Exempel på ORM-verktyg:
Java: Hibernate, JPA
Exempel (Java med Hibernate):
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name; private String email; // Getters and setters }
Entity
Vad är hibernate?
Hibernate är en Java-baserad ramverk (framework) som används för att underlätta interaktionen mellan Java-applikationer och databaser. Det är en ORM-lösning (Object-Relational Mapping), vilket innebär att det automatiskt mappar Java-objekt till databastabeller och vice versa. Hibernate gör det enklare att hantera data i databasen genom att eliminera mycket av det manuella SQL-skrivandet.
Vad menas med boilerplate code?
Repetitive code that orm helps to reduce
Vad är connection string?
Specificerar data source code information for database connection
Är ORM databasoberoende?
Ja