unique=true
element i Column
annotation og/eller UniqueConstraint
annotering, der kan bruges på tabelniveau, bruges til at specificere, at en unik begrænsning skal inkluderes i den genererede DDL .
Med andre ord, de gør ikke noget under kørselstiden, verifikationen overlades til databasen (hvilket giver mening, da unicity ikke kan testes på Java-niveau pålideligt), og hvis du af en eller anden grund ikke har den tilsvarende begrænsning(er) defineret på databaseniveau, vil der ikke ske noget.
Tilføj begrænsningen manuelt:
ALTER TABLE Customer ADD CONSTRAINT customer_name_unq UNIQUE (name);
Se også
- JPA 1.0-specifikation
- 9.1.4 UniqueConstraint Annotation
- 9.1.5 Kolonnenotering
- MySQL-dokumentation
Medmindre du anskaffer en tabellås (uh!), kan du ikke tjekke for unicity med en SQL-forespørgsel i et samtidig miljø.