假如现在有班级Class类与学生student类,但是在映射时,学生表关联的外键不是班级表的主键id,而是年级(grade)与班号(numb)这两个联合作外键,这样就要用到hibernate里的properties属性了。
Class.java类如下:
package cn.ehoo.hibernate.domain;
/**
*@author whp
*@Email whp@ehoo.cn
*@Aug 15, 2011
*
*/
public class Class {
private Long id;
private String grade;
private String number;
public String getGrade() {
return grade;
}
public void setGrade(String grade) {
this.grade = grade;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
}
Class.hbm.xml文件如下:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="cn.ehoo.hibernate.domain">
<class name="Class" table="class">
<id name="id" type="long">
<generator class="native" />
</id>
<properties name="name" unique="true" update="false">
<property name="grade" />
<property name="number" />
</properties>
</class>
</hibernate-mapping>
Student.java类如下:
package cn.ehoo.hibernate.domain;
/**
*@author whp
*@Email whp@ehoo.cn
*@Aug 15, 2011
*
*/
public class Student {
private Long id;
private String name;
private Class cla;
public Class getCla() {
return cla;
}
public void setCla(Class cla) {
this.cla = cla;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Student.hbm.xml文件如下:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="cn.ehoo.hibernate.domain">
<class name="Student" table="student">
<id name="id" type="long">
<generator class="native" />
</id>
<many-to-one name="cla" class="Class" property-ref="name">
<column name="grade"></column>
<column name="number"></column>
</many-to-one>
</class>
</hibernate-mapping>
分享到:
相关推荐
本文介绍了如何利用反射机制来修改Hibernate配置文件中的数据库连接信息,并通过自定义`ConnectionProvider`实现了对敏感信息的加密处理。这种做法不仅增强了应用程序的安全性,还提高了配置信息的管理效率。开发者...
在本文中,我们将深入探讨Hibernate配置文件中的映射元素,这些元素是将对象关系映射到数据库的关键部分。首先,我们需要了解映射文件的基本结构,它通常是一个XML文档,遵循特定的DTD(文档类型定义)。 `...
【Hibernate配置文件中映射元素详解】 在对象关系映射(ORM)框架Hibernate中,对象与数据库表之间的关联是通过一个XML配置文件来定义的。这个XML文件包含了映射元素,用于描述Java类如何转化为数据库中的表。映射...
在这个场景中,我们关注的是Hibernate的配置文件——`hibernate.cfg.xml`。这个文件是Hibernate应用的核心,它定义了数据源、SessionFactory、实体类映射等关键信息,使得Java对象可以直接与数据库进行交互。 首先...
`hibernate.properties`是Hibernate的核心配置文件,用于设定与数据库连接、缓存策略、事务管理等相关的重要参数。下面我们将详细探讨这个配置文件中的关键知识点。 1. **数据库连接配置** - `hibernate....
总结起来,Hibernate配置文件是连接Java应用程序和数据库的关键,它们定义了数据库连接参数,确定了数据类型处理方式,并指明了对象和表的映射。使用`hibernate.properties`或`hibernate.cfg.xml`,开发者可以轻松地...
在Hibernate的配置中,`hibernate.cfg.xml`文件是核心配置文件,用于设定数据库连接、实体类映射等关键参数。本文将探讨如何使用`Properties`类来补充`hibernate.cfg.xml`的配置,以实现更加灵活和模块化的设置。 ...
在这个主题中,我们主要关注的是Hibernate的配置文件`hibernate.properties`以及它的DTD(Document Type Definition)文件,包括`hibernate-configuration-3.0.dtd`和`hibernate-mapping-3.0.dtd`。 首先,`...
总的来说,在Hibernate中配置Proxool连接池涉及的主要步骤包括:在Spring配置文件中声明SessionFactory并指定Proxool的相关属性;在单独的Proxool配置文件中定义数据库连接参数;最后确保这些配置与实际的数据库连接...
通过以上介绍,我们不仅了解了Hibernate配置文件的基本结构和关键属性,还深入探讨了JDBC参数、连接池配置以及POJO类与数据库映射的实现机制。这对于深入理解和掌握Hibernate的工作原理至关重要。希望这些知识点能...
接下来,`hibernate-configuration-3.0.dtd`是Hibernate配置文件的DTD文件,它定义了`hibernate.cfg.xml`的结构和元素。`hibernate.cfg.xml`是另一种常用的Hibernate配置方式,相比`hibernate.properties`,它提供了...
根据描述中的内容,我们可以将Hibernate中配置数据源的方式大致分为三种:直接在Hibernate配置文件中定义、通过外部配置文件指明数据源以及利用现有的容器管理的数据源。 #### 四、配置方法详解 ##### 1. 在...
### Hibernate配置Properties详解 在Java开发环境中,Hibernate作为一款优秀的对象关系映射(ORM)框架,为开发者提供了高效且简洁的方式来进行数据库操作。而在Hibernate的实际应用过程中,合理的配置显得尤为重要...
具体做法是在配置文件中添加或修改以下属性: ``` # 指定使用C3P0连接池 hibernate.connection.provider_class=org.hibernate.connection.C3P0ConnectionProvider # C3P0连接池的最大连接数 hibernate.c3p0.max_...
接下来,我们需要在Spring的配置文件(例如`applicationContext-data.xml`)中读取这些属性,并创建相应的数据源实例。示例代码如下: ```xml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:...
● 一种是properties 属性文件格式的配置文件,它使用键值对的形式存放信息,默认文件名称 为 hibernate.properties;另一种是XML 格式的配置文件, XML 配置文件的默认名称为 hibernate.cfg,xml。 上述两种格式的...
在实际开发中,Hibernate映射文件通常包含以下元素: 1. **实体类(Entity)**:代表数据库中的一个表,用Java类表示。 2. **标识符(Identifier)**:用于唯一标识实体的对象,对应表的主键。 3. **属性...
下面将详细介绍Spring Boot中`application.properties`配置文件中的常见属性及其功能。 1. **服务器配置** - `server.port`: 指定应用服务器监听的端口号,默认为8080。 - `server.address`: 设置服务器绑定的IP...
4. **Proxool配置文件**:有时候,Proxool需要一个单独的配置文件(如`proxool.properties`),如果你使用了这个文件,确保它被正确地加载并且包含有效的配置。 5. **编码问题**:如果配置文件是UTF-8编码,但系统...