Bonjour,

J'essaie d'enregistrer dans ma BD un objet depuis mon controller en appelant la méthode dédiée à cela depuis ma classe métier, je n'ai aucune erreur mais ma BD est vide. je décide de faire un test en faisant directement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
entityManager.persist( mon_onjet)
depuis le controller pour voir si c'est ma méthode qui cause problème mais j'ai le même comportement. Hors depuis ma classe de test cela marche très bien donc je peux conclure que le problème ne vient pas de ma dataSource.

Mon Controller
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 
public class ControllerWeb {
 
    @Autowired
    UserValidator         validator;
 
    @Autowired
    ISignUPMetier         metier;
 
    @PersistenceContext( name = "UP_P" )
    private EntityManager em;
 
    @RequestMapping( value = "/inscription" )
    public String inscription( Model model ) {
        model.addAttribute( "user", new User() );
        return "inscription";
    }
 
    @RequestMapping( value = "/sendUser" )
    public String sendUser( @ModelAttribute( "user" ) User user, BindingResult result, HttpServletRequest request,
            HttpServletResponse response ) {
 
        String confirmMotDePasse = request.getParameter( "cmdp" );
 
        validator.validate( user, result );
        if ( !user.getMot_de_passe().equals( confirmMotDePasse ) || confirmMotDePasse == null ) {
            ObjectError error = new ObjectError( "confirmation", "mot de passe pas valide" );
 
            result.addError( error );
        }
 
        if ( result.hasErrors() ) {
            return "inscription";
        }
 
        em.persist( user );
 
        return "succes";
    }
 
}
Ma classe de Test
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
public class Test {
 
    public static void main( String[] args ) {
 
        ApplicationContext context = new ClassPathXmlApplicationContext(
                "applicationContext.xml" );
 
        ISignUPMetier i = context.getBean( ISignUPMetier.class );
 
        User u = new User( "bertrand", "thomas", "berth", "blabla@g.com", "blabla" );
 
 
        try {
            i.register( u );
 
        } catch ( MetierException e ) {
            System.out.println( e.getMessage() );
        }
 
 
 
}
Je ne comprends pas ce qui se passe.