1.2.4でUniqueCheckが追加されました。どちらが本当に素晴らしいです! Howerer、スーパークラスや実装クラスで何らかの問題が発生しています。PlayFrameworkのスーパークラスのUniqueCheck?
@Entity
@Inheritance(strategy= InheritanceType.JOINED)
abstract class Utilisateur extends Model {
@Unique
public String email;
..
}
そして、2つの実装Candidat & ENTREPRISE Utilisateurを延長し、両方:
の例では、長い記事よりも良くなります。
同じメールを持つCandidatを2つ追加することはできません。同じメールを持つEntrepriseを2つ追加することもできません。 しかし、Entrepriseユーザーと同じ電子メールを持っているCandidatユーザーを持つことができます!
私は少し深くディグすることを決定し、この発見:UniqueCheckは、SELECT COUNTクエリに基づいています
select count(entreprise0_.id) as col_0_0_ from Entreprise entreprise0_ inner join Utilisateur entreprise0_1_ on entreprise0_.id=entreprise0_1_.id where entreprise0_1_.email=? limit ?
を。
大丈夫ですが、スーパークラスを考慮する必要はありませんか?
これを回避する方法はありますか?