My @Transactionnal annotations seems to be ignored. I have no errors on the initialization of the Spring container. It looks like my method has not been proxied by Spring TX
You need to define an interface for the @Transactional
annotations to work:
public interface ApplicationsService {
public void createApplication(Application application);
}
And the concrete class:
@Service
public class ApplicationsServiceImpl {
@Transactional
public void createApplication(Application application) {
// ...
}
}
Alternatively, per Kevin Welker's comment, if don't want an interface (though you probably should write an interface), you can configure use proxy-target-class
:
edit
The message from your SQLException
is:
Field 'status' doesn't have a default value
So maybe you're passing in null
where you should be providing a value? Alternatively, check this post for some weirdness associated with this error.