setUpEntitySchema( [ GH7366Entity::class, ] ); $this->_em->persist(new GH7366Entity('baz')); $this->_em->flush(); $this->_em->clear(); } public function testOptimisticLockNoExceptionOnFind() : void { try { $entity = $this->_em->find(GH7366Entity::class, 1, LockMode::OPTIMISTIC); } catch (TransactionRequiredException $e) { self::fail('EntityManager::find() threw TransactionRequiredException with LockMode::OPTIMISTIC'); } self::assertEquals('baz', $entity->getName()); } } /** * @Entity */ class GH7366Entity { /** * @Id * @Column(type="integer") * @GeneratedValue * @var int */ public $id; /** * @Column(type="integer") * @Version */ protected $lockVersion = 1; /** * @Column(length=32) * @var string */ protected $name; public function __construct(string $name) { $this->name = $name; } public function getName(): string { return $this->name; } }