Merhabalar,
Spring Boot kullanarak bir "One-to-Many" ilişkiye sahip bir uygulama oluşturmak için aşağıdaki adımları takip edebilirsiniz. Bu örnekte, bir "Kategori" ve bu kategorilere ait birden çok "Ürün" arasında bir ilişki oluşturulacak.
Adım 1: Spring Boot Projesi Oluşturun Spring Initializer veya IDE'niz aracılığıyla bir Spring Boot projesi oluşturun. Bağımlılıklar olarak "Spring Web", "Spring Data JPA" ve "H2 Database" gibi uygun bağımlılıkları eklemeyi unutmayın.
Adım 2: Veritabanı Modelini Tanımlayın Veritabanı tablolarını temsil edecek iki sınıf oluşturun: "Category" ve "Product". Bu sınıflar arasında "One-to-Many" ilişkiyi tanımlayın.
Category.java:
import javax.persistence.*;
import java.util.List;
@Entity
public class Category {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
@OneToMany(mappedBy = "category", cascade = CascadeType.ALL)
private List<Product> products;
// Getter ve Setter metotlarını ekleyin
}
Product.java:
import javax.persistence.*;
@Entity
public class Product {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
@ManyToOne
@JoinColumn(name = "category_id")
private Category category;
// Getter ve Setter metotlarını ekleyin
}
Adım 3: Repository Sınıflarını Oluşturun Her iki sınıf için de JPA repository sınıflarını oluşturun.
CategoryRepository.java:
import org.springframework.data.jpa.repository.JpaRepository;
public interface CategoryRepository extends JpaRepository<Category, Long> {
}
ProductRepository.java:
import org.springframework.data.jpa.repository.JpaRepository;
public interface ProductRepository extends JpaRepository<Product, Long> {
}
Adım 4: Controller Sınıflarını Oluşturun Kategori ve ürünle ilgili işlemleri gerçekleştirecek controller sınıflarını oluşturun.
CategoryController.java:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/categories")
public class CategoryController {
@Autowired
private CategoryRepository categoryRepository;
@GetMapping
public List<Category> getAllCategories() {
return categoryRepository.findAll();
}
// Diğer işlemler için gerekli endpoint'leri ekleyin
}
ProductController.java:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/products")
public class ProductController {
@Autowired
private ProductRepository productRepository;
@GetMapping
public List<Product> getAllProducts() {
return productRepository.findAll();
}
// Diğer işlemler için gerekli endpoint'leri ekleyin
}
Adım 5: Uygulamayı Çalıştırın Uygulamanızı çalıştırın. Ardından, "/categories" ve "/products" endpoint'leri aracılığıyla kategorileri ve ürünleri oluşturabilir, görüntüleyebilir, güncelleyebilir ve silebilirsiniz.
Bu adımları izleyerek Spring Boot ile "One-to-Many" ilişkiye sahip bir uygulama oluşturabilirsiniz. İlgili endpoint'leri ve işlemleri uygulamanıza ekleyerek uygulamanızı daha da geliştirebilirsiniz.
