知识大全 Hibernate初学之一对多、多对一关系模型

Posted 模型

篇首语:君不见长松卧壑困风霜,时来屹立扶明堂。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Hibernate初学之一对多、多对一关系模型相关的知识,希望对你有一定的参考价值。

Hibernate初学之一对多、多对一关系模型  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  举例订单与客户

  多对一关系模型

  · 首先是导包 这个省略不写了

  · 其次写domain类

  分为Client Order两个类 因为是多对一的关系 所以外键应该放在Order这个类里

  配置文件 hibernate cfg xml

  [java]

  <hibernate configuration>

  <session factory name= foo >

  <property name= nnection driver_class > mysql jdbc Driver</property>

  <property name= connection url >jdbc:mysql:///test</property>

  <property name= connection username >root</property>

  <property name= connection password >root</property>

  <property name= dialect > hibernate dialect MySQLDialect</property>

  <property name= show_sql >true</property>

  <property name= hbm ddl auto >update</property>

  <mapping resource= /hbsi/domain/Client hbm xml />

  <mapping resource= /hbsi/domain/Order hbm xml />

  </session factory>

  </hibernate configuration>

  定义一个Client的变量

  ·然后写配置文件 Client hbm xml

  <hibernate mapping package= hbsi domain >

  <class name= Client table= client >//类名和表名

  <id name= id column= id >//变量和字段

  <generator class= native />//根据数据库里的设置自定义

  </id>

  <property name= name />

  </class>

  </hibernate mapping>

  Order hbm xml

  <hibernate mapping>

  <class name= Order table= ordershop >

  <id name= id >

  <generator class= native />

  </id>

  <property name= shopname column= shopname />

  <property name= number column= number />

  <property name = price column= price />

  <many to one name= client column= client_id />

  <class>

  </hibernate mapping>

  配置文件这样就写完了 接下来就是添加查找

  Session session=null;

  @Test

  public void add(Client client Order order)

  try

  session = HibernateUtil getSession() //获取工具

  session beginTransaction() //开启事务

  /*Client client = new Client()

  client setName( 刘总 )

  Order order = new Order()

  order setShopname( 航空母舰 )

  order setNumber( )

  order setPrice( )

  order setCt(client)

  Order order = new Order()

  order setShopname( 航空母舰 )

  order setNumber( )

  order setPrice( )

  order setCt(client) */

  session save(client)

  session save(order)

  session beginTransaction() mit()

  finally

  if(session!=null)

  session close()

  

  

  

  public void find(int id)

  try

  session = HibernateUtil getSession()

  session beginTransaction()

  Order order = (Order) session get(Order class id)

  System out println(order getCt() getName())

  session beginTransaction() mit()

  finally

  if(session!=null)

  session close()

  

  

  

  测试

  public static void main(String[] args )

  Client client = new Client()

  client setName( xiao总 )

  Order order = new Order()

  order setShopname( 美国 )

  order setNumber( )

  order setPrice( )

  order setCt(client)

  Order order = new Order()

  order setShopname( 日本 )

  order setNumber( )

  order setPrice( )

  order setCt(client)

  Many one mo = new Many one()

  mo add(client order )

  mo find( )

  

  关系模型一对多

  Client hbm xml

  <hibernate mapping package= hbsi domain >

  <class name= Client table= client >

  <id name= id column= id >

  <generator class = native />

  </id>

  <property name= name />

  <set name= order table= ordershop cascade= save update >

  <key column= user_id />

  <one to many class= Order   />

  </set>

  </class>

  </hibernate mapping>

  Order hbm xml

  <hibernate mapping package= hbsi domain >

  <class name= Order table= ordershop >

  <id name= id >

  <generator class = native />

  </id>

  <property name= shopname column= shopname />

  <property name= number column= number />

  <property name= price column= price />

  </class>

  </hibernate mapping>

  添加方法

  public void add(Client client Order order)

  try

  session = HibernateUtil getSession()

  session beginTransaction()

  session save(client)

  //  session save(order)

  session beginTransaction() mit()

  finally

  if(session!=null)

  session close()

  

  

  

  public void find(int id)

  try

  session = HibernateUtil getSession()

  session beginTransaction()

  Client client = (Client) session get(Order class id)

  Set<Order> orders  =client getOrder()

  orders size()

  session beginTransaction() mit()

  finally

  if(session!=null)

  session close()

  

  

cha138/Article/program/Java/ky/201311/28399

相关参考

知识大全 hibernate关联关系-多对一

  模型员工Employee—部门Department  Java代码  packageDomain;  publicclassEmployee  publicintgetId()  returnid

知识大全 Hibernate多对多双向关联(xml配置)

Hibernate多对多双向关联(xml配置)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   

知识大全 Hibernate中多对多关系的常见问题

Hibernate中多对多关系的常见问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  1到底在

知识大全 Hibernate持久化技术中多对多关系应用

Hibernate持久化技术中多对多关系应用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Hi

知识大全 一个机顶盒可以接几台电视吗

一个机顶盒可以接几台电视吗?一个机顶盒只能接一台电视的。1、要想多台电视收看,只能安装多台机顶盒,因为电视与机顶盒是一对一的关系,不是一对多或多对一关系。2、解决机顶盒一台一机收看,变一台机顶盒让多台

知识大全 Hibernate初学之优缺点

Hibernate初学之优缺点  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 Hibernate一对多单向关系

Hibernate一对多单向关系  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   &n

知识大全 Hibernate单向一对多注意的问题

Hibernate单向一对多注意的问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  这个问题困

知识大全 Hibernate一对多双向映射及乐观锁使用

Hibernate一对多双向映射及乐观锁使用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在H

知识大全 hibernate一对多关联关系

  想了几天终于知道sql语句的发出问题查了很多书感觉都没有说清楚有的还是错的请看下面  [java]  <?xmlversion=?>  <!DOCTYPEhibernatemap