乐观锁与悲观锁是完全不同的两种控制模式。
通常来说悲观锁由数据库自己加锁完成,乐观锁由业务代码自己控制完成。
业务代码完成的话,乐观锁也有CAS,版本号等等方式完成。业务是否需要以注解方式来实现,那完全是基于业务。基于实体框架用注解也是一种解决方案吧。