多对一单向(数据库设计,多在在多方设计外键)
数据库设计:主键列不可分,联合主键不可有部分依赖,不能存在传递依赖
注解中在多方的类中加入一个"一方"的类,然后在方法之上加上@ManyToOne
XML中在多方的XML中设置<many-to-one name="一方的字段名" column="具体的外键名字">
注:在数据库中要生成的表要改名字,可以用@Table(name="")
第一种方法(一共会生成三张表,两张实体表,一张关系表)
多端:(生成一张表,存在一个外键comp_id)
@Entity()
public class Flight implements Serializable {
@ManyToOne( cascade = {CascadeType.PERSIST, CascadeType.MERGE} )
@JoinColumn(name="COMP_ID")
public Company getCompany() {
return company;
}
...
}
一端:
@OneToMany(cascade=CascadeType.ALL,fetch=FetchType.LAZY)
publicSet<Student> getStudent() {
returnstudent;
}
publicvoidsetStudent(Set<Student> student) {
this.student= student;
}
第二种方法:(效果同第一种一样)
@Entity()
public class Flight implements Serializable {
@ManyToOne( cascade = {CascadeType.PERSIST, CascadeType.MERGE}, targetEntity=CompanyImpl.class )
@JoinColumn(name="COMP_ID")
public Company getCompany() {
return company;
}
...
}
public interface Company {
...
第三种方法
@Entity()
public class Flight implements Serializable {
@ManyToOne( cascade = {CascadeType.PERSIST, CascadeType.MERGE} )
@JoinTable(name="Flight_Company",
joinColumns = @JoinColumn(name="FLIGHT_ID"),
inverseJoinColumns = @JoinColumn(name="COMP_ID")
)
public Company getCompany() {
return company;
}
...
}
相关推荐
- 一对一、一对多、多对一、多对多关联映射的配置和实现,包括集合类型如List、Set、Map的使用。 -懒加载和立即加载策略,以及如何优化关联加载性能。 4. **AJAX插件应用**: - AJAX基础:理解异步JavaScript和...
7.3 映射一对多双向自身关联关系 7.4 改进持久化类 7.5 小结 7.6 思考题 第8章 通过Hibernate操纵对象(上) 8.1 Java对象在JVM中的生命周期 8.2 理解Session的缓存 8.2.1 Session的缓存的作用 ...
Hibernate通过XML映射文件(或注解)定义对象与数据库表的映射关系,包括主键生成策略、一对一、一对多、多对一和多对多关系映射。 6. **HQL与 Criteria查询** Hibernate提供了两种查询方式:HQL(Hibernate ...
7.3 映射一对多双向自身关联关系 7.4 改进持久化类 7.5 小结 7.6 思考题 第8章 通过Hibernate操纵对象(上) 8.1 Java对象在JVM中的生命周期 8.2 理解Session的缓存 8.2.1 Session的缓存的作用 ...
7.3 映射一对多双向自身关联关系 7.4 改进持久化类 7.5 小结 7.6 思考题 第8章 通过Hibernate操纵对象(上) 8.1 Java对象在JVM中的生命周期 8.2 理解Session的缓存 8.2.1 Session的缓存的作用 ...
7.3 映射一对多双向自身关联关系 7.4 改进持久化类 7.5 小结 7.6 思考题 第8章 通过Hibernate操纵对象(上) 8.1 Java对象在JVM中的生命周期 8.2 理解Session的缓存 8.2.1 Session的缓存的作用 ...
通常,在多对多或者一对多的关系中,延迟加载能够避免 N+1 查询问题。本文将详细探讨 Hibernate 的各种延迟加载策略及其应用场景。 #### 二、Fetching 策略 Fetching 策略定义了 Hibernate 在执行查询时如何获取...
mappedBy属性用于指定双向一对多关系中的被拥有端。在一个双向关系中,一个实体指向另一个实体,而被拥有端会使用mappedBy属性来指出它是由哪个类映射。这是解决在双向关联中防止多表更新问题的一种常见方法。 知识...
3. Hibernate教程:实体类定义、映射文件配置、Session工厂与Session的使用、CRUD操作、一对多、多对一、多对多的关系映射等。 4. SSH整合:如何将三个框架配置到一起,包括web.xml、struts.xml、spring配置文件的...
(如:一对多、多对多的关系) 22 99、说下Hibernate的缓存机制 22 100、Hibernate的查询方式 23 101、如何优化Hibernate? 23 102、Struts工作机制?为什么要使用Struts? 23 103、Struts的validate框架是如何验证的...
(如:一对多、多对多的关系) 60 71.9. 说下Hibernate的缓存机制 60 71.10. Hibernate的查询方式 60 71.11. 如何优化Hibernate? 61 71.12. Hibernate和spring中常出现的几个异常 61 71.13. Hibernate与jdbc的联系 62...
SSH框架整合是一个常见的Java Web开发...总之,SSH框架整合涉及多个层次的配置和调整,需要对各个框架有深入理解,并能熟练处理集成过程中可能出现的问题。通过正确配置和调试,可以构建出高效、可维护的Java Web应用。
Hibernate则是一个对象关系映射(Object-Relational Mapping, ORM)框架,它允许开发者使用Java对象来操作数据库,而无需直接编写SQL语句。Hibernate通过XML或注解配置,将Java类与数据库表关联起来,实现了数据的...
Hibernate是一种流行的Java对象关系映射(ORM)框架,它用于将Java对象映射到数据库的表结构上,并且提供了对象数据库管理的机制。乐观锁是Hibernate框架中用来处理并发数据问题的一种策略。乐观锁假设多个事务在...
- Hibernate负责对象关系映射,实现对数据库的操作。 - 两者通过Spring管理事务、配置环境等方式进行整合。 #### Spring框架 1. **Spring中FactoryBean与BeanFactory的区别:** - `BeanFactory`是Spring的核心...
12、写Hibernate的一对多和多对一双向关联的orm配置? 122 9、hibernate的inverse属性的作用? 122 13、在DAO中如何体现DAO设计模式? 123 14、spring+Hibernate中委托方案怎么配置? 123 15、spring+Hibernate中委托...
在Java编程中,异常处理是不可或缺的一部分,它帮助开发者识别并修复程序运行时可能出现的问题。以下是一些Java中常见的异常及其解决办法: 1. **Caused by: line 1:188: expecting CLOSE, found 'null'** 这个...