Hibernate - 约束名称 [英] Hibernate - Constraint Name

查看:17
本文介绍了Hibernate - 约束名称的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有谁知道如何设置主键(PK_[name])的约束名称,检查(CK_[Name]),默认[DF_[Name]],外键(Fk_[Name]),Unique ..例如,通过使用注释或 xml 配置,我想要那个表 ::::

Does anybody knows how to set the constraint name for primary key (PK_[name]) ,check (CK_[Name]),Default [DF_[Name]], Foreign Key (Fk_[Name]) ,Unique .. by using Annotations or xml config for example i want that Table ::::

CREATE TABLE ACCOUNT (
[ID] INT NOT NULL IDENTITY(1,1),
[USERNAME] VARCHAR(50) NOT NULL,
[PASSWORD] VARCHAR(50) NOT NULL,
[EMAIL] VARCHAR(100) NOT NULL,
[GENDER] INT NOT NULL ,
[ADDRESS] INT,
[AGE] INT CONSTRAINT DF_tblAccount_Age DEFAULT 0,
CONSTRAINT PK_tblAccount_ID PRIMARY KEY([ID]),
CONSTRAINT UQ_tblAccount_Address UNIQUE(ADDRESS),
CONSTRAINT FK_tblAccount_Gender FOREIGN KEY([GENDER]) REFERENCES GENDER([ID]),
CONSTRAINT FK_tblAccount_Address FOREIGN KEY([ADDRESS]) REFERENCES ADDRESS([ID]) ON DELETE SET NULL,
CONSTRAINT CK_tblAccount_Age CHECK ([AGE] > 0 AND [AGE] <100)
)

将其翻译成注解类或 [name].hbm.xml ,Hibernate 是否支持使用约束名称,或者我必须更改表每次我创建一个新类...我搜索了,我找到了 0 个关于约束名称的结果!!

Translate it into annotation class or [name].hbm.xml , does Hibernate support to use constraint name or i must alter the tables every time i create a new class ... I searched and i find 0 results about constraint names !!

注解类示例:::

@Id @GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="ID")
// -->>Add Primary Key constraint Name Here !! ???
private int id;

@Column(name="Name")
private String name;

@Column(name="Surname")
private String surname;

@Column(name="age")
// -->>Add Check constraint Name Here !! ???
private String age;

@OneToOne(cascade={CascadeType.ALL},fetch=FetchType.LAZY)
@OnDelete(action=OnDeleteAction.CASCADE)
@JoinColumn(name="Address" , referencedColumnName="id",nullable=false)
// -->>Add Foreign Key constraint Name Here !! ???
private Address address;

推荐答案

在 JPA 中,您可以在类级别执行此操作,使用 @Table 注释属性,您可以在其中指定约束名称.对于映射到列 id 的主键 id:

In JPA, you can do this at class level, using @Table annotation properties, where you specify constraints names. For primary key id mapped to column id:

@Table(uniqueConstraints = @UniqueConstraint(columnNames = "ID", name = "PERSONS_PK_CONSTRAINT"))

这篇关于Hibernate - 约束名称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆