hibernate的注解配置

本文介绍 Hibernate ORM 技术的应用实践,包括实体类注解配置、核心配置文件详解、HQL查询方式及一对多、多对一等关联关系的实现方法,并演示了级联操作的具体用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今日工作内容:学习hibernate

@Entity  //标志是实体类

@Table(name="student")
//配置主键
@Id
@GenericGenerator(name="mygenerator" strategy="native")
@GeneratedValue(generator="mygenerator")//主键自动增长可以直接这个,不用加前面一句
@Column(name="id")//类的属性和表的字段相同,可以省略


核心配置文件(hibernate.cfg.xml):
<mapping class="">
HQL查询部分字段,相当于投影查询。
String hql="select name from Student s";
Query query = session.createQuery(hql);
//List<String> list = query.list();
//for(String s : lsit){
//    System.out.println(s);
//}
//List<Object[]> list = query.list();
//for(Object[] arr : list){
//    System.out.println(arr[0]+arr[1]);
//}
Stirng hql="select new Emp(id,name) from Emp";


String hql="select new Map(id,name) from Emp";


@OneToMany(fetch=FetchType.LAZY,mappedBy="clazz") //延迟加载,懒加载 需要用到关联语句对象的时候,才会去查数据库。按需去抓取数据
@OneToMany(mappedBy="")
@ManyToOne  //多对一
@JoinColumn(name="clazzid")//多方设置的外1键
private Clazz clazz   //学生表的加的班级属性


private set<Student> students  //班级表加的学生属性 set<>只能存储不相同的元素




Set<Student> students=clazz.getStudents();·


级联操作(在保存新的学生信息的情况下把新的班级也插进去了)


多对多的关系
在老师里面包含一个学生的集合
在学生里面包含一个老师的集合
@join{
    name="关联表"
    joinColumns=@joinColumns(name="");;
    inverseJoinColums=@joinColums();

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值