是否有一种方法可以配置独特性以将foo
和Foo
视为重复?
用例:我的用户实体上有@UniqueEntity("email")
,因为我将电子邮件地址用作用户名。根据https://stackoverflow.com/a/9808332/1668200电子邮件地址的本地部分在理论上对病例敏感,但在实践中对案例不敏感。
我当然可以将其转换为setEmail()
中的小写https://stackoverflow.com/a/31663365/1668200)。缺点:
- 可能会使用户感到困惑(因为他们的电子邮件地址被"修改")
- 作为上述答案的评论说:
这不是一个好主意,因为很可能不会交付。
所以我宁愿拒绝用户Foo@example.com
的注册(如果已经存在foo@example.com
),而不是将所有用户的地址转换为小写。
基于此独特性:
RepositoryMethod类型:字符串默认值:FindboD()
用于将查询进行查询的存储库方法的名称 确定独特性。如果剩下空白,Findby()方法将 使用。此方法应返回可数结果。
您可以在存储库中创建一个函数,以查找是否存在该电子邮件在SQL中应用Upper()。