Giriş
Açıklaması şöyle
Veriye erişmek için iki tane yöntem var.Açıklaması şöyle
1. Entity-Repository
2. Active Record.
Aralarındaki fark şöyle
Entity-Repository
Açıklaması şöyle. Bu aslında SpringBoot'un uyguladığı şey. Entity nesnesi sadece kendi alanlarını bilir. Veri tabanı işlemleri ayrı bir Repository sınıfındadır
An implementation of the Entity-Repository Pattern brings an Entity as a pure object and, when needed, a respective Repository class to encapsulate any of this entity's database integration and operations. Database calls can be managed by the context lifecycle and are not mixed with business logic.
Örnek
Şöyle yaparız
@Entity public class Person { private @Id Long id; private @Column String name; private @Column LocalDate birthday; private @ManyToOne List<Address> addresses; } public interface PersonRepository extends <Person, String> {}
Kullanım şöyledir. Tüm veri tabanı kodları Repository sınıfında.
Person person =...; // persist a person repository.save(person); List<Person> people = repository.listAll(); // finding a specific person by ID person = repository.findById(personId);
Active Record Örüntüsü
Açıklaması şöyle.
An active record class encapsulates not only the data but also its persistence operations.Açıklaması şöyle
When using the Active Record Pattern, the entity holds its attributes, persistence methods, and even database connection details. It is, therefore, an "active" entity that can persist and manage itself, ...Örnek
Şöyle yaparız
@Entitypublic class Person extends PanacheEntity {{ public String name;public LocalDate birthday;public List<Address> addresses;}
Kullanım şöyledir. Tüm veri tabanı kodları Entity sınıfında.
Person person =...;// persist a personperson.persist();List<Person> people = Person.listAll();// finding a specific person by IDperson = Person.findById(personId);
Hiç yorum yok:
Yorum Gönder