我正在尝试执行以下操作:
/**
* @Entity
*/
class Player {
/**
*@Column
*@Id
*/
private $uuid; //gets assigned a Uuid in the constructor
/**
* @ManyToOne(targetEntity="Team", cascade={"persist"})
* @JoinColumn(referencedColumnName="uuid")
*/
private $team;
public function setTeam(Team $team) {
$this->team = $team;
}
//...
}
/**
* @Entity
*/
class Team {
/**
* @Column
* @Id
*/
private $uuid; //gets assigned a Uuid in the constructor
//...
}
$player = new Player;
$team = new Team;
$player->setTeam($team);
$entityManager->persist($player);
$entityManager->flush();
团队没有持久化到数据库中。
我不想打电话$entityManager->persist($team)
,因为在我的情况下,团队是在我不了解持久性的代码的一部分中创建的。
我的期望是该cascade={"persist"}
选项应该使 EntityManager 也保留团队。为什么我的期望是错误的,或者我做错了什么?