知识大全 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
相关参考
模型员工Employee—部门Department Java代码 packageDomain; publicclassEmployee publicintgetId() returnid
Hibernate多对多双向关联(xml配置) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Hibernate中多对多关系的常见问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 1到底在
Hibernate持久化技术中多对多关系应用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Hi
一个机顶盒可以接几台电视吗?一个机顶盒只能接一台电视的。1、要想多台电视收看,只能安装多台机顶盒,因为电视与机顶盒是一对一的关系,不是一对多或多对一关系。2、解决机顶盒一台一机收看,变一台机顶盒让多台
Hibernate初学之优缺点 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  
Hibernate一对多单向关系 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n
Hibernate单向一对多注意的问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 这个问题困
Hibernate一对多双向映射及乐观锁使用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在H
想了几天终于知道sql语句的发出问题查了很多书感觉都没有说清楚有的还是错的请看下面 [java] <?xmlversion=?> <!DOCTYPEhibernatemap