- 浏览: 70903 次
- 性别:
-
文章分类
最新评论
package com.bjsxt.hibernate; public enum Gender { MALE, FEMALE }
package com.bjsxt.hibernate; import javax.persistence.Embeddable; public class TeacherPK implements java.io.Serializable{ private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public boolean equals(Object o) { if(o instanceof TeacherPK) { TeacherPK pk = (TeacherPK)o; if(this.id == pk.getId() && this.name.equals(pk.getName())) { return true; } } return false; } @Override public int hashCode() { return this.name.hashCode(); } }
package com.bjsxt.hibernate; import java.util.Date; import javax.persistence.EmbeddedId; import javax.persistence.Entity; import javax.persistence.EnumType; import javax.persistence.Enumerated; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.IdClass; import javax.persistence.SequenceGenerator; import javax.persistence.Id; import javax.persistence.Temporal; import javax.persistence.TemporalType; import javax.persistence.Transient; @Entity @javax.persistence.TableGenerator( name="Teacher_GEN", table="GENERATOR_TABLE", pkColumnName = "pk_key", valueColumnName = "pk_value", pkColumnValue="Teacher", allocationSize=1 ) @SequenceGenerator(name="teacherSEQ", sequenceName="teacherSEQ_DB") @IdClass(TeacherPK.class) public class Teacher { //private TeacherPK pk; private int id; private String name; private String title; private String yourWifeName; private Date birthDate; private boolean good; private Gender gender; @Enumerated(EnumType.STRING) public Gender getGender() { return gender; } public void setGender(Gender gender) { this.gender = gender; } public boolean isGood() { return good; } public void setGood(boolean good) { this.good = good; } @Transient public String getYourWifeName() { return yourWifeName; } public void setYourWifeName(String yourWifeName) { this.yourWifeName = yourWifeName; } @Id @GeneratedValue(strategy=GenerationType.TABLE, generator="Teacher_GEN") public int getId() { return id; } public void setId(int id) { this.id = id; } @Id public String getName() { return name; } public void setName(String name) { this.name = name; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } @Temporal(TemporalType.TIME) public Date getBirthDate() { return birthDate; } public void setBirthDate(Date birthDate) { this.birthDate = birthDate; } /*@EmbeddedId public TeacherPK getPk() { return pk; } public void setPk(TeacherPK pk) { this.pk = pk; }*/ }
发表评论
-
22.hibernate继承映射joined
2011-12-07 18:14 796person表结构: teacher表结构: studen ... -
21.hibernate继承映射table_per_class
2011-12-07 18:14 1099t_gen_table表结构: person表结构: te ... -
20.hibernate继承映射single_table
2011-11-25 12:17 936单个表: person表结构如下: package co ... -
19.hibernate多对多双向关联
2011-11-25 12:17 776package com.bjsxt.hibernate; ... -
18.hibernate多对多单向关联
2011-11-25 12:17 761package com.bjsxt.hibernate; ... -
17.hibernate一对多,多对一双向关联
2011-11-25 12:17 955package com.bjsxt.hibernate; ... -
16.hibernate一对多单向关联
2011-11-25 12:16 773package com.bjsxt.hibernate; ... -
15.hibernate多对一单向关联
2011-11-24 00:48 838package com.bjsxt.hibernate; ... -
14.hibernate 一对一component(组合),jpa映射
2011-11-24 00:48 1127只存在一个表: husband表结构: package ... -
13.hibernate一对一单向联合主键外键关联,jpa映射
2011-11-24 00:47 1596husband表结构: wife表结构: packag ... -
12.hibernate一对一双向主键关联,jpa映射
2011-11-24 00:47 1028husband表结构: wife表结构: pack ... -
11.hibernate一对一双向主键关联,xml映射
2011-11-24 00:46 830student表结构: stuidcard表结构 ... -
10.hibernate一对一单向主键关联,jpa映射
2011-11-23 19:43 1508husband表结构: wife表结构: pac ... -
9.hibernate一对一单向主键关联,xml映射
2011-11-23 19:42 971student表结构: stuidcard表结构 pa ... -
8.hibernate一对一双向外键关联,jpa映射
2011-11-23 19:42 904husband表结构: wife表结构 packa ... -
7.hibernate一对一双向外键关联,xml映射
2011-11-23 19:41 930stuidcard表结构: student表结构: ... -
6.hibernate一对一单向外键关联,jpa映射
2011-11-23 19:40 1713husband表结构: wife表结构 package ... -
5.hibernate一对一单向外键关联,xml映射
2011-11-21 18:25 471stuidcard表结构: student表结构: p ... -
3.hibernate联合主键,xml映射
2011-11-21 18:13 1005package com.bjsxt.hibernate; ... -
2.hibernate 枚举类型, 布尔类型,不持久化属性映射
2011-11-21 18:06 1434package com.bjsxt.hibernate; ...
相关推荐
在IT行业中,Hibernate是一款广泛应用的关系对象映射框架,它极大地简化了Java开发人员与数据库交互的工作。而JPA(Java Persistence API)是Java平台上的一个标准,为持久化提供了统一的API,使得开发者可以轻松地...
Java 持久化API(Java Persistence API,简称JPA)是Java开发人员用来管理关系数据库的对象/关系映射(ORM)工具。JPA通过提供一套标准接口和API,简化了在Java应用中存储、查询和管理数据的过程,使得开发者可以...
8. **Inheritance Mapping**: Hibernate支持多种继承映射策略,如单表继承、联合继承和表-per-class,可以根据业务需求选择合适的映射方式。 9. **Lazy Loading & Eager Loading**: Hibernate提供了懒加载和急加载...
Hibernate提供多种映射类型,包括基本映射、主键映射、关系映射、组合映射、继承映射等。开发者需要根据应用场景选择合适的映射策略。 ### 9. 基本映射策略 基本映射策略包括注解(Annotation)映射和XML映射两种...
在IT行业中,构建高效、可维护的Web应用是至关重要的,SpringMVC、Hibernate和JPA作为Java领域中三大主流框架,常常被联合使用来实现这一目标。本篇将详细介绍如何利用Maven来搭建整合SpringMVC、Hibernate和JPA的...
在Hibernate中,实现一对一关联有多种方式,包括外键关联和联合主键关联等。 ##### 外键关联 外键关联是最常用的一对一关联方式,其中一方包含指向另一方的外键。例如,在“人”与“身份证”的例子中: - **人** ...
通过上述内容可以看出,Hibernate提供了丰富的注解机制来简化实体Bean的声明、属性的映射、表的定义、主键和外键的定义、关联关系的建立、查询的定义等。这些注解极大地提高了开发效率,并有助于构建清晰、灵活且...
日期_枚举等字段类型的JPA映射** JPA提供了对不同数据类型的映射,如日期类型(@Temporal),枚举类型(@Enumerated),甚至自定义类型,通过Converter接口可以自定义数据类型转换。 **6. 大数据字段映射与字段...
- 联合主键:多个字段共同组成主键。 - 继承映射:支持单表继承、多表继承等多种模式。 - 支持关联映射:一对一、一对多、多对一、多对多等各种关联关系。 - 支持延迟加载:只在真正需要时才加载关联对象,提高性能...
8. **继承映射(Inheritance Mapping)**:JPA支持单表继承、联合继承和表格分层等策略,使你可以设计复杂的对象模型。 9. **懒加载(Lazy Loading)**:默认情况下,JPA实现如Hibernate支持懒加载,即关联的对象只...
- Hibernate允许对象的继承结构映射到数据库的表结构,如单表继承、联合继承和表-per-hierarchy映射。 **7. 集合映射** - 对象集合如List、Set等可以映射到数据库的表,支持懒加载和立即加载策略。 **8. 懒加载** ...
11. **联合实体映射**:讲解如何处理复杂的数据结构,如联合主键和复合实体。 12. **多态性与继承**:介绍如何在Hibernate中处理类继承关系,以及多态查询的实现。 13. **JPA集成**:如果指南也涵盖了JPA(Java ...
- **定义与实现**:解释联合主键的概念,并展示其在JPA中的实现方式。 通过以上知识点的梳理,我们可以看出JPA不仅是一种强大的持久层框架,还具有高度的灵活性和扩展性,能够满足不同场景下的需求。同时,由于其...
- 单表继承、联合表继承、子类表继承,根据需求选择合适的映射策略。 7. **集合映射**: - List、Set、Map等集合类型与数据库表的映射,处理关联关系的集合操作。 8. **懒加载**: - 提高性能,延迟加载关联...
在本文中,我们将深入探讨如何使用Spring Boot框架与Java Persistence API (JPA)结合,特别是通过Hibernate实现数据库的增删改查操作,并进行简单的两表联合查询。首先,我们需要了解Spring Boot的基础,然后掌握JPA...
3. Inheritance:Hibernate支持多种继承映射策略,如单表继承、联合继承和表-per-hierarchy。 四、关联映射 1. OneToMany/ManyToOne:一对多和多对一关系映射,使用@OneToMany和@ManyToOne注解,@JoinColumn定义...
- **联合主键**:在实体类中使用多个字段作为主键的情况,需注意其配置方式。 ##### 5. Hibernate核心开发接口介绍 - **核心接口**: - `Configuration`:负责加载配置文件。 - `SessionFactory`:创建`Session`...
在使用这个策略时,JPA会将主键的生成工作交由数据库完成,hibernate 不会介入。这意味着,数据库将负责生成主键,而不是hibernate。这种策略适用于大多数情况,因为它可以确保主键的唯一性和连续性。 uuid uuid是...
10. **一对多、多对一、一对一和多对多关系映射**:Hibernate支持多种关联映射,包括集合映射,如List、Set、Map等,以及复合主键的处理。 11. **继承映射**:在Java中,子类可以继承父类。在Hibernate中,这种继承...
**联合主键(Composite Primary Key)**在JPA中,当一个实体的主键由两个或更多个字段组成时,我们称之为联合主键。`JPACompositePK`示例将说明如何使用`@Embeddable`和`@EmbeddedId`注解来定义这样的主键。 在这些...