注解和主键

1.使用注解的方式对数据进行插入
a.引入所需的jar包
b.在实体类中使用@Entity标明此类为实体类,并用@Id在为键值的属性的getXX()
上标明,并在hibernate配置文件中添加映射,格式如下
<mapping class="xxx.xxx.xxx.实体类名"/>
c.注意在启动Hibernate的时候,要用AnnotationConfiguration

 

1.联合主键
a.当一个实体类中要有2个或多个主键时,可以采用以下方法
将所有主键封装成一个主键类,生成相应方法,实现Serializable接口,重写其
equals方法和hashCode方法,实现序列化接口的目的是可以使对象通过网络传输到另一台机器上,或从内存加载到虚拟内存上,并在映射文件中做如下处理
<composite-id name="pk" class="StudentPK">
<key-property name="id"><columnname="_id"></column></key-property>
<key-property name="name"><column name="_name"></column></key-property>
</composite-id>
b.当用注解方式时,把主键类注解为@Embeddable,并将主键类属性注解为@Id
c.也可以只将主键属性注解为@EmbeddedId
d.还可以将主键封装成一个主键类,但是不必添加注解,而是用
@IdClass(主键类.class)对象实体类进行注解,并对所有的主键属性用@Id进行注解

2.id自动生成策略
xml生成id
a.generator 常用四个:native,identity.sequence.uuid
b.@GeneratedValue
默认是AUTO,还可以用sequenceGenerator(name="A", sequenceName="xxx")对
实体类进行注解,并对主键用
@GeneratedValu(strategy=GenerationType.IDENTITY,generator="A")
c.还可以用@TABLE进行策略生成,但用得少

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值