EJB3.x: 关于@UniqueConstraint标记无效(不起作用)问题

本文探讨了EJB3.x中@UniqueConstraint注解的使用问题,特别是其在实体Bean部署后未在数据库表中体现为唯一性限制的情况。文章指出,此约束仅在表自动生成时生效,需要在persistence.xml文件中将hibernate.hbm2ddl.auto设置为create-drop。

EJB3.x: 关于@UniqueConstraint标记无效问题

在制定Entity Bean时,设置了该实体的@UniqueConstraint限制。但是对该实体Bean进行部署后,并没有在数据库表中看到对应表字段出现unique限制。这是因为@UniqueConstraint标记必须在自动生成表的情况下才起作用。即,在persistence.xml中将hibernate.hbm2ddl.auto设置为create-drop。否则,唯一性约束限制不会被加入到数据库中。

以下是《JSR 220: Enterprise JavaBeansTM,Version 3.0 Java Persistence API》文档的原文说明:

Type

Name

Description

Default

UniqueConstraint[]

uniqueConstraints

(Optional) Unique constraints that are to be placed on the table. These are only used if table generation is in effect. These constraints apply in addition to any constraints specified by the Column and JoinColumn annotations and constraints entailed by primary key mappings.

No additional

constraints

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值