我有一个关于ORM与JPA Spring Data关系的快速问题。
我有
AuthToken.java:
if ($var == 1)
$where = "agentid != ''";
else
$where = "agentid like ''";
$sql =
" SELECT *
FROM suppliers
WHERE
product_categories LIKE '%$product_categories1%'
AND $where ";
User.java:
@OneToOne(optional=true, fetch = FetchType.EAGER, cascade=CascadeType.ALL, mappedBy="authToken")
private User user;
我的观点是,当令牌过期时,AuthToken应该被清除。
尝试使用CrudRepository删除" constraint / foreignkey"错误,因为它尝试使用CascadeType.ALL删除BOTH PARENT + CHILD。
我只想删除TOKEN(孩子),而不是用户。
有没有正确的方法来写出来?
我最终做的是:@OneToOne(optional=true, fetch = FetchType.EAGER, cascade=CascadeType.ALL)
@JoinColumn(
name="authorizationId", unique=true, nullable=true, updatable=true)
private AuthorizationToken authToken;
我无法使用AuthRepo.delete或AuthRepo.save。
使用"删除"不能正常工作。