Mario Splivalo wrote:
> Tom Lane wrote:
>
>> Mario Splivalo <mario.splivalo@megafon.hr> writes:
>>
>>> I have two tables, tableA and tableB:
>>> CREATE TABLE tableA (idA integer primary key, email character varying
>>> unique);
>>> CREATE TABLE tableB (idB integer primary key, email character varying
>>> unique);
>>>
>>> Now, I want to create check constraint in both tables that would
>>> disallow records to either table where email is 'mentioned' in other table.
>>>
>> Have you considered refactoring so there's only one table?
>>
>
> Unfortunately I can't do that, due to the
> object-relational-mapper-wrapper-mambo-jumbo.
>
> The only 'logical' idea that I can think of is separating emails to the
> third table, and then use UNIQUE constraint on the email field on that
> table, and then use FK constraint so that email fields in tables tableA
> and tableB points to the email in the table emails.
>
> Mario
>
>
Is that wrapper hibernate by any chance? If so you might try adding a
discriminator column to the single table TL suggested and map each class
accordingly.