EntityManager не может использовать persist для сохранения элемента в базе данных

Я столкнулся с проблемой сохранения элемента в базе данных с помощью EntityManager. Основываясь на ответах, которые я нашел, я попробовал эти 4 способа в своем DaoJpa, чтобы сделать это, но все равно не получилось. Здесь я приложил четыре способа, которые я попробовал:

Код в части контроллера:

   @Transactional 
   SmartProduct smartProduct = new SmartProduct();
            smartProduct.setName("Dove Soap");
            smartProductDao.persist(smartProduct);

1. DaoJpa:

 @Transactional
 public void persist(SmartProduct smartProduct) {
            entityManager.persist(smartProduct);

Безразлично»т работа!

2.

@Transactional
public void persist(SmartProduct smartProduct) {
entityManager.persist(smartProduct);
entityManager.flush();

Исключение, которое я получил: транзакция не выполняется

3.

@Transactional
public void persist(SmartProduct smartProduct) {
EntityTransaction emTransaction = entityManager.getTransaction();
        emTransaction.begin();  
        entityManager.persist(smartProduct);
        emTransaction.commit();
        entityManager.close();

Полученное исключение: не разрешено создавать транзакции в совместно используемом EntityManager - вместо этого используйте транзакции Spring или EJB CMT

4.

@Transactional
public void persist(SmartProduct smartProduct) {
                    EntityManagerFactory emf = Persistence.createEntityManagerFactory("persistenceUnit");
                EntityManager em = emf.createEntityManager();
                EntityTransaction etx = em.getTransaction();
                etx.begin();
                em.persist(smartProduct);
                etx.commit();
                em.close();
                emf.close();

Исключение, которое я получил: приложение должно предоставлять соединения JDBC

Может ли кто-нибудь помочь мне разобраться в проблеме, пожалуйста? Спасибо заранее!

Большое спасибо JustinKSU 'с помощью. Я добавляю аннотацию в контексте Spring, и затем это решается! Вот предыдущая версия моего контекста Spring:


        
    

    

    
        
        
    

После того, как добавил


оно работает:


    
        
    

    

    
        
        
    

Ответы на вопрос(2)

Ваш ответ на вопрос