以下是Java文档的翻译:
@Where
@Where注解用于向元素实体或集合目标实体添加where子句。该子句使用SQL语法编写,常见用途是实现软删除。
@WhereJoinTable
@WhereJoinTable注解用于向集合连接表添加where子句。该子句使用SQL语法编写,与@Where注解类似,常见用途是实现软删除。
总的来说,在一般情况下,这些注解的用法都相同。
|---------------------|-------------------|-------------------|
| |@Where | @WhereTable |
|---------------------|-------------------|-------------------|
|target elements |TYPE, METHOD, FIELD|TYPE, METHOD, FIELD|
|---------------------|-------------------|-------------------|
|Retention |RUNTIME |RUNTIME |
|---------------------|-------------------|-------------------|
|properties |clause |clause |
|---------------------|-------------------|-------------------|
因此,我非常困惑应该使用哪个注释来处理关系字段。我无法找到使用@Where
和@WhereJoinTable
之间的区别。它们两者都可以互相替换,对吗?
@WhereJoinTable
注解,而不能仅使用@Where(clause = "enabled = true and now() between valid_from and valid_until")
? - end-user