Files
tp-hibernate-project/hibernate-project/src/main/java/com/humanbooster/App.java

55 lines
2.1 KiB
Java

package com.humanbooster;
import com.humanbooster.dao.ArticleDao;
import com.humanbooster.dao.UserDao;
import com.humanbooster.model.Article;
import com.humanbooster.model.User;
import com.humanbooster.service.ArticleService;
import com.humanbooster.service.UserService;
import org.hibernate.SessionFactory;
import org.hibernate.boot.Metadata;
import org.hibernate.boot.MetadataSources;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import java.util.List;
public class App {
public static void main(String[] args) {
System.out.println("Démarrage de l'application");
StandardServiceRegistry registry = new StandardServiceRegistryBuilder()
.configure()
.build();
Metadata metadata = new MetadataSources(registry).buildMetadata();
SessionFactory sessionFactory = metadata.buildSessionFactory();
System.out.println("Connexion réussie !");
User user = new User("Bob", "bob@example.com", null);
user.setArticles(List.of(
new Article("Article 1", "Contenu de l'article 1", user),
new Article("Article 2", "Contenu de l'article 2", user)
));
UserService userService = new UserService(new UserDao(sessionFactory));
ArticleService articleService = new ArticleService(new ArticleDao(sessionFactory));
List<User> existingUsers = userService.getAllUsers();
existingUsers.forEach(u -> userService.deleteUser(u.getId()));
userService.createUser(user);
List<Article> articles = articleService.findArticlesByCriteria("test", 3L);
articles.forEach(article -> {
System.out.println("\nArticle trouvé :");
System.out.println("ID: " + article.getId());
System.out.println("Titre: " + article.getTitle());
System.out.println("Contenu: " + article.getContent());
System.out.println("Auteur: " + article.getAuthor().getName());
}
);
}
}