1、hibernate1:1映射(外键关联)
2、包结构:
3、源代码:
Account.java
package domain;
public class Account {
private String id;
private String acctNo;
private double bal;
private User owner;
public Account() {
}
public Account(String acctNo, double bal) {
this.acctNo = acctNo;
this.bal = bal;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getAcctNo() {
return acctNo;
}
public void setAcctNo(String acctNo) {
this.acctNo = acctNo;
}
public double getBal() {
return bal;
}
public void setBal(double bal) {
this.bal = bal;
}
public User getOwner() {
return owner;
}
public void setOwner(User owner) {
this.owner = owner;
}
}
Account.hbm.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="domain">
<class name="Account" table="ACCOUNT">
<id name="id">
<column name="id"></column>
<generator class="uuid"></generator>
</id>
<property name="acctNo" column="ACCTNO"></property>
<property name="bal" column="BAL"></property>
<one-to-one name="owner" property-ref="acct"></one-to-one>
</class>
</hibernate-mapping>
User.java
package domain;
public class User {
private String id;
private String name;
private int age;
private Account acct;
public User() {
}
public User(String name, int age) {
this.age = age;
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Account getAcct() {
return acct;
}
public void setAcct(Account acct) {
this.acct = acct;
}
}
User.hbm.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="domain">
<class name="User" table="USERS">
<id name="id" column="ID">
<generator class="uuid"></generator>
</id>
<property name="name" column="NAME"></property>
<property name="age" column="AGE"></property>
<many-to-one name="acct" column="FID" unique="true"></many-to-one>
</class>
</hibernate-mapping>
工具类HbnUtil.java
package util;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class HbnUtil {
private static SessionFactory sessionFactory;
private HbnUtil(){}
public static synchronized SessionFactory getSessionFactory(){
if(sessionFactory==null){
sessionFactory=new Configuration().configure().buildSessionFactory();
}
return sessionFactory;
}
}
hibernate.cfg.xml:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>
<session-factory>
<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
<property name="connection.url">jdbc:oracle:thin:@127.0.0.1:1521:myorcl</property>
<property name="connection.username">myorcl</property>
<property name="connection.password">embed</property>
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<mapping resource="domain/Account.hbm.xml"/>
<mapping resource="domain/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
测试类:
package test;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import domain.Account;
import domain.User;
public class TestUser {
public static void main(String[]args){
SessionFactory sf=util.HbnUtil.getSessionFactory();
Session session=sf.openSession();
session.beginTransaction();
User user=new User("newuser",24);
Account acct=new Account("acct_04",1000.0);
user.setAcct(acct);
session.save(acct);
session.save(user);
session.getTransaction().commit();
session.close();
sf.close();
}
}

- 大小: 16.2 KB
分享到:
相关推荐
在提供的"src"文件中,虽然没有具体的代码,但通常源码会包含实体类的定义以及它们之间的注解配置,这可以帮助我们学习如何在实际项目中应用这些关联映射。 六、工具支持 在开发过程中,使用像IntelliJ IDEA这样的...
"Hibernate初之单表映射学习例子" 这个标题表明我们将探讨的是Hibernate框架在处理单个数据库表映射的基础教程。Hibernate是Java开发中一个流行的对象关系映射(ORM)工具,它允许开发者用面向对象的方式来操作...
1. Hibernate基本概念:介绍Hibernate的核心理念,包括对象关系映射(ORM)的基本原理,以及它如何将Java对象与数据库表进行映射。 2. Hibernate配置:讲解如何配置Hibernate的XML配置文件,包括数据库连接、实体类...
【hibernate学习资料大全】 Hibernate 是一个开源的对象关系映射(ORM)框架,它极大地简化了Java应用程序对数据库的操作。...希望这些资料能对CSDN的网友们在Hibernate学习之路上提供宝贵的帮助。
包含《多对多双向关联映射》《多对一单向关联映射》《多对一双向关联映射》《一对多单向关联映射》等文档,并有图解及例子,非常适合新手学习,尤其是刚刚接触hibernate,对映射关系不清楚的。。。。
1. **Hibernate简介**:Hibernate是一个开源的ORM框架,它通过提供对象-关系映射,将Java类与数据库表关联起来,使得开发者可以使用面向对象的方式来处理数据库操作。 2. **环境配置**:在使用Hibernate之前,需要...
在这个“hibernate学习入门之一对多实体映射源码”教程中,我们将深入探讨如何在Hibernate中设置和管理一对多的关系。 一、Hibernate简介 Hibernate是Java开发人员用于处理数据库操作的强大工具,通过它,我们可以...
通过源码学习,你可以深入了解Hibernate如何处理多对多关系的细节,从而更好地应用到实际项目中。在实际编程时,注意合理设计实体关系,确保数据的一致性和完整性,同时利用Hibernate的便捷性提高开发效率。
1. **对象关系映射**:Hibernate通过XML映射文件或注解,将数据库表与Java对象对应起来,实现了数据库操作的对象化,使得开发者可以像操作普通Java对象一样操作数据库记录。 2. **查询语言(HQL)**:Hibernate提供...
学习 Hibernate 的映射和查询,可以帮助开发者更高效地处理数据库操作,减少手动 SQL 编写的工作量,提高代码的可维护性和可移植性。对于初学者而言,理解并熟练掌握这些概念是成为合格的 Java 开发者的必经之路。...
### Hibernate学习知识点详解 #### 1. Hibernate简介与安装配置 **标题:** Hibernate学习 **描述:** Hibernate 学习 Hibernate学习.pdf **标签:** Hibernate 学习 Hibernate学习.pdf **知识点详解:** ####...
1. **一对多关联映射**: 在现实世界中,一个实体可能会与多个其他实体相关联,比如一个用户可以有多个订单。在Hibernate中,我们通过`@OneToMany`注解来实现这种关系。这个注解通常放在拥有众多子项的一方,配置`...
在Java世界中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者用面向对象的方式处理数据库操作。在大型项目中,由于业务需求复杂,我们常常会使用到类的继承来组织代码结构,而Hibernate提供了对...
hibernate开发的关系: one-to-one,many-to-one,many-to-many学习经验总结
Hibernate学习笔记整理 以下是 Hibernate 框架的详细知识点: Hibernate 介绍 Hibernate 是一个 ORM(Object-Relational Mapping)框架,用于将 Java 对象映射到数据库表中。它提供了一个简洁的方式来访问和操作...
通过学习这些材料,开发者可以更深入地理解Hibernate映射树形结构的具体实现,并在自己的项目中灵活应用。 总结来说,映射树形结构在Hibernate中是一项重要技能,它涉及到对数据库设计的理解和ORM框架的熟练运用。...
《Hibernate学习笔记特别详细》 Hibernate,作为一款开源的Object-Relational Mapping(ORM)框架,为Java开发者提供了强大的数据库操作支持。它简化了数据库访问的复杂性,使得开发人员可以像操作对象一样操作...
通过深入学习和实践Hibernate的高级映射,开发者能够更好地设计和实现数据模型,从而提升应用程序的性能和可维护性。对于初学者,可以从简单的例子开始,逐渐增加复杂度,通过实际操作来加深理解和记忆。而提供的...
**hibernate 学习用例1** 在Java开发领域,Hibernate是一个强大的对象关系映射(ORM)框架,它极大地简化了数据库操作。本学习用例1是为初学者设计的,旨在帮助菜鸟们理解Hibernate的基本概念和用法。通过这个实例...
本篇文章将探讨“Hibernate学习一:简单应用1配置文件版”,主要涵盖如何配置Hibernate,创建实体类,以及进行基本的CRUD操作。 首先,我们来了解Hibernate的核心配置文件——`hibernate.cfg.xml`。这个文件包含了...