2.1 Anotasi @Entity, @Tabel
Yen sampeyan pengin peta kelas menyang tabel ing database, sampeyan kudu nambah 3 anotasi.
Pisanan, sampeyan kudu nambah anotasi menyang kelas @Entity
. Anotasi iki ing ngarep kelas bakal ngandhani Hibernate yen iki ora mung kelas, nanging kelas khusus sing obyek kudu disimpen ing database.
Tuladha:
@Entity
class User {
public int id;
public String name;
public int level;
public Date createdDate;
}
Iki cukup kanggo Hibernate kanggo nambani obyek saka kelas iki kanthi cara khusus.
Anotasi kapindho yaiku @Table
. Kanthi bantuan, sampeyan bisa nyetel jeneng tabel ing database sing kelas iki bakal digandhengake. Tuladha:
@Entity
@Table(name="user")
class User {
public int id;
public String name;
public int level;
public Date createdDate;
}
Yen jeneng kelas lan jeneng tabel padha, banjur anotasi @Table
bisa diilangi.
Uga, yen aplikasi sampeyan bisa digunakake karo tabel saka sawetara skema ing wektu sing padha, sampeyan kudu nemtokake skema tartamtu ing tabel kasebut:
@Entity
@Table(name="user", schema="test")
class User {
public int id;
public String name;
public int level;
public Date createdDate;
}
Ya, kabeh iku minangka prasaja minangka misale jek.
2.2 @Kolom anotasi
Kapindho sing penting kanggo ngerti yaiku pemetaan kolom tabel menyang lapangan kelas. Ing versi sing paling gampang, Hibernate mung bakal nggawe peta lapangan kelas entitas menyang kolom tabel sing dikarepake.
Yen sampeyan pengin ngontrol kabeh nuansa pemetaan, sampeyan bisa nggunakake anotasi @Column
. Tuladha:
@Entity
@Table(name="user")
class User {
@Column(name="id")
public Integer id;
@Column(name="name")
public String name;
@Column(name="level")
public Integer level;
@Column(name="created_date")
public Date createdDate;
}
Anotasi kasebut @Column
nduweni macem-macem parameter, ing ngisor iki kita bakal nimbang sing paling populer:
# | Jeneng atribut | Tipe atribut | Katrangan |
---|---|---|---|
1 | jeneng | String | Nyetel jeneng kolom tabel kanggo kolom kelas |
2 | unik | boolean | Kabeh nilai lapangan kudu unik |
3 | nullable | boolean | Lapangan bisa null |
4 | dawa | int | Dawane maksimal (kanggo senar) |
Ayo ditambahake sawetara kendala ing kolom kelas Entitas Panganggo:
- jeneng panganggo kudu unik lan ora luwih saka 100 karakter
- level bisa null
- createdDate ora bisa null
Banjur anotasi kita dadi:
@Entity
@Table(name="user")
class User {
@Column(name="id")
public Integer id;
@Column(name="name", unique=true, length=100)
public String name;
@Column(name="level", nullable=true)
public Integer level;
@Column(name="created_date", nullable=false)
public Date createdDate;
}
Sampeyan bisa nggawe obyek saka jinis Pangguna lan malah nemtokake kabeh kolom null , Nanging, nalika nyoba kanggo nyimpen ing database, Hibernate bakal nindakake mriksa, lan yen ana watesan sing dilanggar, pangecualian bakal dibuwang.
2.3 @anotasi id
Lan siji anotasi sing luwih penting yaiku @Id
. Bisa digunakake kanggo nyetel tombol utama kanggo tabel.
Sampeyan mung kudu nemtokake anotasi iki kanggo kolom sing dikarepake - lan Hibernate bakal nindakake kabeh dhewe:
@Entity
@Table(name="user")
class User {
@Id
@Column(name="id")
public Integer id;
@Column(name="name")
public String name;
@Column(name="level")
public Integer level;
@Column(name="created_date")
public Date createdDate;
}
Yen sampeyan pengin Hibernate ngasilake ID obyek kanthi mandiri nalika nambahake menyang database, sampeyan kudu nambah siji anotasi - @GeneratedValue
. Banjur conto kita bakal katon kaya iki:
@Entity
@Table(name="user")
class User {
@Id
@GeneratedValue
public Integer id;
@Column(name="name")
public String name;
@Column(name="level")
public Integer level;
@Column(name="created_date")
public Date createdDate;
}
Kita ngilangi anotasi @Column
kanggo lapangan id ing kene, amarga ora nggawa informasi sing penting - jeneng lapangan lan jeneng kolom ing tabel padha, lan thanks kanggo anotasi liyane, Hibernate wis ngerti yen kita ngomong babagan tabel. kolom.
GO TO FULL VERSION