Finally, the problem was that I didn't add the task inside the transaction
public TicketEntity addTask(int ticketId, TaskEntity taskEntity) {
Transaction transaction = null;
TicketEntity ticketEntity = null;
try (Session session = HibernateUtil.getSessionFactory().openSession()) {
transaction = session.beginTransaction();
ticketEntity = session.get(TicketEntity.class, ticketId);
if (ticketEntity == null) {
throw new IllegalArgumentException("Ticket not found with ID: " + ticketId);
}
taskEntity.setTicket(ticketEntity);
ticketEntity.addTask(taskEntity);
session.merge(ticketEntity);
transaction.commit();
} catch (Exception e) {
if (transaction != null) {
transaction.rollback();
}
e.printStackTrace();
}
return ticketEntity;
}