orm

8
Internet Programming II Yildiz Technical University 2015 Object Relational Mapping Ömer Taşkın

Upload: oemer-taskin

Post on 18-Jul-2015

94 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Orm

Internet Programming IIYildiz Technical University 2015

Object Relational Mapping

Ömer Taşkın

Page 2: Orm

OUTLINE

• What is ORM?

• Most known ORM Tools

• JPA & Hibernate

IP II - ORM 2

Page 3: Orm

What is ORM?

IP II - ORM 3

• Provides to mapping Objects to DB tables and vice versa

• Generates and runs SQL queries

• Avoids SQL Injections

Page 4: Orm

ORM Tools

IP II - ORM 4

• .net - nHibernate

• .net – Ado.net Entity Framework

• Java – Hibernate

• Java – EclipseLink

• Java – TopLink

• PHP – Doctrine

• Python – Django

Page 5: Orm

Jpa & Hibernate

IP II - ORM 5

• JPA is orm standard of Java

• Hibernate is one of most used Java Orm framework

• allows writing hql queries like SQL

• has Criteria API

Page 6: Orm

Jpa & Hibernate

IP II - ORM 6

@Entity annotation declares a class as an entity.

@Table annotation is used to declare tablename and schema

@Id annotation lets you define which property is the identifier (PRIMARY KEY) of

your entity

@Column annotation declares field name

@Table(name = “customer”)

@Id

@Column(“CUSTOMER_ID”)

private Integer customerId;

Page 7: Orm

Jpa & Hibernate - Join

IP II - ORM 7

@OneToOne annotation is used for 1-1 mapping

@OneToMany annotation is used for 1-n mapping

@ManyToOne annotation is used for n-1 mapping

@ManyToMany annotation is used for n-n mapping

@JoinColumn annotation declares which column would be join field

@ManyToOne

@JoinField(“MEMBER_ID”)

private Member member;

Page 8: Orm

Jpa & Hibernate – Fully mapped example

IP II - ORM 8

@Entity

@Table

public class Customer {

@Id

@GeneratedValue

@Column(name = “CUSTOMER_ID”)

private Integer customerId;

@Column(name = “CUSTOMER_NAME”)

private String customerName;

// getter & setters

}