SQLServer数据库主键及复合主键都有哪些配置
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍"SQLServer数据库主键及复合主键都有哪些配置",在日常操作中,相信很多人在SQLServer数据库主键及复合主键都有哪些配置问题上存在疑惑,小编查阅了各式资料,整理出简单好用的
千家信息网最后更新 2026年11月02日SQLServer数据库主键及复合主键都有哪些配置
这篇文章主要介绍"SQLServer数据库主键及复合主键都有哪些配置",在日常操作中,相信很多人在SQLServer数据库主键及复合主键都有哪些配置问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"SQLServer数据库主键及复合主键都有哪些配置"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
@Id@GeneratedValue@Column(name="RecId")publicintgetRecId(){returnRecId;}
复合主键个人认为用到的很少,呜呜还是碰到了,由于没有经验,东装西摸,浪费了很长时间才把复合主键配好了,并且还出了很多异常,如下所示:
一个表中可以有多个字段組成的主鍵
createtableEL_TransIdTable(TableNamenvarchar(50),LastTransIdnvarchar(15),Prefixnchar(5),DomainIdnvarchar(10)primarykey(TableName,DomainId))
其中TableName、DomainId两个字段作为此表的主键。
在配置中主要分为两个步骤:
1为复合主键,建立一个复合主键类,这个类包括两个字段,(有几个字段组成主键就包含几个字段)这个复合主键类实现Serializable接口,有public无参的构造方法重写equals和hashcode方法。
2:在实体类里面用idclass标示复合主键类详情如下:
新建复合主键类TableDomainIdPK.java。
packagecom.barcode.Model;importjava.io.Serializable;publicclassTableNameDomainIdPKimplementsSerializable{publicTableNameDomainIdPK(){}privateStringTableName;privateStringDomainId;publicStringgetTableName(){returnTableName;}publicvoidsetTableName(StringtableName){TableName=tableName;}publicStringgetDomainId(){returnDomainId;}publicvoidsetDomainId(StringdomainId){DomainId=domainId;}@OverridepublicinthashCode(){finalintPRIME=31;intresult=1;result=PRIME*result+((TableName==null)0:TableName.hashCode());result=PRIME*result+((DomainId==null)0:DomainId.hashCode());returnresult;}@Overridepublicbooleanequals(java.lang.Objectobj){if(this==obj){returntrue;}if(null==obj){returnfalse;}finalTableNameDomainIdPKother=(TableNameDomainIdPK)obj;if(DomainId==null){if(other.DomainId!=null){returnfalse;}}elseif(!DomainId.equals(other.DomainId)){returnfalse;}if(TableName==null){if(other.TableName!=null){returnfalse;}}elseif(!TableName.equals(other.TableName)){returnfalse;}returntrue;}}新建实体类EL_TransIdTable.java。
SQLServer数据库主键及复合主键有哪些配置
实体类中的配置如下:
packagecom.barcode.Model;importjava.io.Serializable;importjavax.persistence.Column;importjavax.persistence.Entity;importjavax.persistence.Id;importjavax.persistence.IdClass;importjavax.persistence.Table;@Entity@Table(name="EL_TransIdTable")@IdClass(TableNameDomainIdPK.class)publicclassEL_TransIdTableimplementsSerializable{privateStringTableName;privateStringLastTransId;privateStringPrefix;privateStringDomainId;@Id@Column(name="TableName",nullable=false)publicStringgetTableName(){returnTableName;}publicvoidsetTableName(StringtableName){TableName=tableName;}@Column(name="LastTransId")publicStringgetLastTransId(){returnLastTransId;}publicvoidsetLastTransId(StringlastTransId){LastTransId=lastTransId;}@Column(name="Prefix")publicStringgetPrefix(){returnPrefix;}publicvoidsetPrefix(Stringprefix){Prefix=prefix;}@Id@Column(name="DomainId",nullable=false)publicStringgetDomainId(){returnDomainId;}publicvoidsetDomainId(StringdomainId){DomainId=domainId;}publicvoidPrint_Info(){System.out.println(this.getDomainId()+this.getLastTransId()+this.getPrefix()+this.getTableName());}}到此,关于"SQLServer数据库主键及复合主键都有哪些配置"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
配置
数据
数据库
字段
学习
两个
实体
方法
更多
帮助
实用
接下来
个人
多个
接口
文章
步骤
理论
知识
篇文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
广州百单互联网科技有限公司
深圳恒合互联网络科技有限公司
互联网与科技发展
网络科技有限互联网
猪兼强互联网科技
云电互联网科技
撒么互联网科技公司
互联网科技大会案例
互联网校园科技培训
成都铂石互联网科技做什么的
玉溪新华互联网科技好不好
世界互联网领先科技成果获奖
互联网科技公司营业执照怎么办理
中和天地互联网科技有限公司
浙南科技城互联网大厦招聘
互联网安防科技感
福州德业互联网科技
互联网科技手机排行榜
青岛易易互联网科技
现代互联网科技公司
互联网络科技
互联网科技网
港股互联网科技股
上海喔噻互联网科技
奔汉互联网科技
顺玮阁互联网科技
深圳艾佳互联网科技
济南和联互联网科技有限公司
常德市电业局互联网科技部
卓翼科技产业互联网合作