Hibernate映射关系是指在Hibernate中,实体之间的关系,它们可以是一对一、一对多、多对一或多对多。这些关系可以通过XML文件或注解来定义,并且可以在运行时动态更新。
Hibernate映射关系的主要目的是将数据库表中的数据映射到Java对象,使得开发人员可以使用Java代码来操作数据库表中的数据。Hibernate映射关系有助于减少开发人员需要手动编写SQL语句来访问数据库表中的数据,而是使用Java代码来实现。
@Entity public class Student { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @ManyToOne private Teacher teacher; // getters and setters... } @Entity public class Teacher { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @OneToMany(mappedBy = "teacher") // mappedBy 是由Student 类中 teacher 属性来映射 private Liststudents; // getters and setters... }
当你准备一个 Hibernate 映射文件时,我们已经看到你把 Java 数据类型映射到了 RDBMS 数据格式。在映射文件中已经声明被使用的 types 不是 Java 数据类型;它们也不是 SQL 数据库类型。这种类型被称为 Hibernate 映射类型,可以从 Java 翻译成 SQL,反之亦然。
在这一章中列举出所有的基础,日期和时间,大型数据对象,和其它内嵌的映射数据类型。
映射类型 | Java 类型 | ANSI SQL 类型 |
---|---|---|
integer | int 或 java.lang.Integer | INTEGER |
long | long 或 java.lang.Long | BIGINT |
short | short 或 java.lang.Short | SMALLINT |
float | float 或 java.lang.Float | FLOAT |
double | double 或 java.lang.Double | DOUBLE |
big_decimal | java.math.BigDecimal | NUMERIC |
character | java.lang.String | CHAR(1) |
string | java.lang.String | VARCHAR |
byte | byte 或 java.lang.Byte | TINYINT |
boolean | boolean 或 java.lang.Boolean | BIT |
yes/no | boolean 或 java.lang.Boolean | CHAR(1) ('Y' or 'N') |
true/false | boolean 或 java.lang.Boolean | CHAR(1) ('T' or 'F') |
映射类型 | Java 类型 | ANSI SQL 类型 |
---|---|---|
date | java.util.Date 或 java.sql.Date | DATE |
time | java.util.Date 或 java.sql.Time | TIME |
timestamp | java.util.Date 或 java.sql.Timestamp | TIMESTAMP |
calendar | java.util.Calendar | TIMESTAMP |
calendar_date | java.util.Calendar | DATE |
映射类型 | Java 类型 | ANSI SQL 类型 |
---|---|---|
binary | byte[] | VARBINARY (or BLOB) |
text | java.lang.String | CLOB |
serializable | any Java class that implements java.io.Serializable | VARBINARY (or BLOB) |
clob | java.sql.Clob | CLOB |
blob | java.sql.Blob | BLOB |
映射类型 | Java 类型 | ANSI SQL 类型 |
---|---|---|
class | java.lang.Class | VARCHAR |
locale | java.util.Locale | VARCHAR |
timezone | java.util.TimeZone | VARCHAR |
currency | java.util.Currency | VARCHAR |
一、运行环境: 1、操作系统:windows 10 x64 2、eclipse版本: Version: 2019-06 (4.12.0) Build id: 20190614-1200 3、Web服务...
让我们使用 Spring 框架开始实际的编程。在你开始使用 Spring 框架编写第一个例子之前,你必须确保已经正确地设置了 Spring 环境...
Spring框架的核心功能之一就是通过依赖注入的方式来管理Bean之间的依赖关系。 什么是依赖注入每个基于应用程序的 java 都有几个...
Spring 中基于 AOP 的 XML架构为了在本节的描述中使用 aop 命名空间标签,你需要导入 spring-aop 架构,如下所述:?xml version=...
ServletContext是一个全局的储存信息的空间,服务器开始就存在,服务器关闭才释放。为了方便大家理解,我们将ServletContext和Co...
Array函数Array函数允许你在代码执行中间创建一个数组,而不必事先确定其大小。该函数总是返回一个Varant数组。使用函数Array你...
MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式;它是三种 ASP.NET 编程模式其中之...