Je suis nouveau à demande feuillue. Je suis en mesure d'exécuter l'application en utilisant tomcat + intégration mysql bien. Maintenant, je veux passer au développement pour personnaliser le projet du site selon mes besoins.Je ne suis pas en mesure de stocker l'entité en utilisant em.merge dans feuillue
Je suis coincé sur le point de persistance dans le module de site broadleaf. J'ai essayé d'employer em.merge
qui renvoie mon entité mais ne l'enregistre pas dans la base de données et a également essayé @Transactional(value="blTransactionManager")
mais le problème persiste toujours. J'ai essayé le code ci-dessous dans applicationContext-servlet.xml
<aop:config>
<aop:pointcut id="blMyStoreDao" expression="execution(* com.mycompany.dao.StoreDaoImpl.save*(..))"/>
<aop:advisor advice-ref="blTxAdvice" pointcut-ref="blMyStoreDao"/>
</aop:config>
Voici mon code de contrôleur
newStore.setCustomer(customer);
newStore.setProductList(new ArrayList<ProductImpl>());
Store getStore=store.save(em, newStore);
System.out.println(getStore.getCustomer().getUsername());
System.out.println("customer fetched: "+customer.getEmailAddress());
Voici mon code daoimpl
@Repository("blMyStoreDao")
@Transactional(value="blTransactionManager")
public class StoreDaoImpl implements StoreDao {
@PersistenceContext(unitName="blPU")
protected EntityManager em;
@Transactional(value="blTransactionManager")
public Store save(EntityManager em, Store store) {
System.out.println(em);
System.out.println(store.getCustomer().getUsername());
Store s= em.merge(store);
return s;
}
}
Mais il n'a pas non plus résoudre mon problème. Le code fonctionne parfaitement comme il se doit, mais il ne sauvegarde pas mon entité dans la base de données.
Tout le monde aide. Merci à l'avance
Pouvez-vous essayer em.flush() après em.merge (stocker) dans votre StoreDaoImpl et publier l'exception –
Pourquoi diable passez-vous dans le 'EntityManager'? Vous devriez utiliser l'instance 'EntityManager' du dao, pas celle que vous avez passée. Ensuite, vous avez' @ Transactional', alors assurez-vous d'avoir ' ' dans votre configuration. –
J'ai fait la même chose mais ça n'injectait pas l'em dans daoimpl. Une autre chose concerne @transectional. où