1. A method, comprising: receiving, by a processing device, a non-transactional object at runtime of a compiled application, wherein the non-transactional object is a component of the application that does not include transactional logic; generating, by the processing device, a transactional proxy for the non-transactional object, the transactional proxy including the transactional logic not included in the non-transactional object, a transactional marker and a pointer to the non-transactional object; determining, by the processing device, a locking strategy to use for the non-transactional object, the locking strategy to be implemented by the transactional proxy; and passing, by the processing device, the transactional proxy to the application, wherein the application to make calls on the transactional proxy instead of on the non-transactional object.