hibernate多表关联配置
来源:互联网 发布:黑魂3剧情解析 知乎 编辑:程序博客网 时间:2024/05/29 13:10
collection 表跟tag表关联,tag表的colle_id对就collection表的id。这是一个典型的关联关系。
CollectionImplTest.java文件中有详细的调用方法
CollectionBean.hbm.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping package="com.collection.bean"> <class name="CollectionBean" table="collection"> <id name="id"> <generator class="native"></generator> </id> <property name="userid"></property> <property name="url"></property> <property name="username"></property> <property name="name"></property> <property name="createTime" column="create_time"></property> <one-to-one name="tag" property-ref="collection" cascade="save-update" ></one-to-one> </class></hibernate-mapping>
CollectionBean .java
package com.collection.bean;public class CollectionBean implements java.io.Serializable { private static final long serialVersionUID = 1L; private int id; private String name; private String url; private String createTime; private int userid; private TagBean tag; public TagBean getTag() { return tag; } public void setTag(TagBean tag) { this.tag = tag; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getCreateTime() { return createTime; } public void setCreateTime(String datetime) { this.createTime = datetime; } public int getUserid() { return userid; } public void setUserid(int userid) { this.userid = userid; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } private String username; public void setDateTime(String datetime) { // TODO Auto-generated method stub }}
TagBean.hbm.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping package="com.collection.bean"> <class name="TagBean" table="tag"> <id name="id"> <generator class="native"></generator> </id> <!-- <property name="colleId" column="colle_id"></property> --> <property name="name"></property> <property name="number"></property> <many-to-one name="collection" column="colle_id" cascade="save-update"></many-to-one> </class></hibernate-mapping>
TagBean.java
package com.collection.bean;public class TagBean implements java.io.Serializable { private static final long serialVersionUID = 1L; private int id; private String name; private int number; private CollectionBean collection; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getNumber() { return number; } public void setNumber(int number) { this.number = number; } public CollectionBean getCollection() { return collection; } public void setCollection(CollectionBean collection) { this.collection = collection; }}
BaseImpl.java
package com.collection.imlps;import java.io.Serializable;import java.util.List;import org.hibernate.HibernateException;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;import org.hibernate.query.Query;import com.collection.dao.BaseDao;public class BaseImpl implements BaseDao { public BaseImpl() { } @Override public int save(Object obj) { Configuration configuration = new Configuration().configure(); SessionFactory sFactory = configuration.buildSessionFactory(); Session session = sFactory.openSession(); try { session.save(obj); return 1; }catch(HibernateException e){ e.printStackTrace(); }finally { session.close(); } return 0; } @Override public Object get(Class<?> cls, Serializable id) { Configuration configuration = new Configuration().configure(); SessionFactory sFactory = configuration.buildSessionFactory(); Session session = sFactory.openSession(); try { return (Object) session.get(cls, id); }catch(HibernateException e){ e.printStackTrace(); } finally { session.close(); } return null; } @Override public List<?> list(String hql) { Configuration configuration = new Configuration().configure(); SessionFactory sFactory = configuration.buildSessionFactory(); Session session = sFactory.openSession(); try { Query query = session.createQuery(hql); List list = query.list(); return list; } catch (HibernateException e) { e.printStackTrace(); }finally{ session.close(); } return null; } @Override public int update(Object obj) { Configuration configuration = new Configuration().configure(); SessionFactory sFactory = configuration.buildSessionFactory(); Session session = sFactory.openSession(); Transaction transaction = session.beginTransaction(); try { session.update(obj); transaction.commit(); return 1; }catch(HibernateException e){ transaction.rollback(); e.printStackTrace(); }finally { session.close(); } return 0; } @Override public void delete(Object obj) { Configuration configuration = new Configuration().configure(); SessionFactory sFactory = configuration.buildSessionFactory(); Session session = sFactory.openSession(); Transaction transaction = session.beginTransaction(); try { session.delete(obj); transaction.commit(); }catch(HibernateException e){ transaction.rollback(); e.printStackTrace(); } finally { session.close(); } }}
CollectionImpl.java
package com.collection.imlps;import java.io.Serializable;import java.util.List;import com.collection.dao.CollectionDao;public class CollectionImpl extends BaseImpl implements CollectionDao { @Override public int save(Object colle) { return super.save(colle); } @Override public List<?> list(String hql) { return super.list(hql); } @Override public int update(Object colle) { return super.update(colle); } @Override public void delete(Object colle) { super.delete(colle); } public Object get(Class<?> cls, Serializable id) { return super.get(cls, id); }}
CollectionImplTest.java
package com.collection.test;import static org.junit.Assert.*;import java.text.SimpleDateFormat;import java.util.Date;import org.junit.After;import org.junit.AfterClass;import org.junit.Before;import org.junit.BeforeClass;import org.junit.Test;import com.collection.bean.CollectionBean;import com.collection.bean.TagBean;import com.collection.imlps.BaseImpl;public class CollectionImplTest { BaseImpl base; String datetime; private CollectionBean colleBean; @BeforeClass public static void setUpBeforeClass() throws Exception { } @AfterClass public static void tearDownAfterClass() throws Exception { } @Before public void setUp() throws Exception { base = new BaseImpl(); colleBean = new CollectionBean(); Date date = new Date(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); datetime = simpleDateFormat.format(date); } @After public void tearDown() throws Exception { } @Test public void test() { fail("Not yet implemented"); } @Test public void testsave() { TagBean tagBean = new TagBean(); tagBean.setName("标签"); tagBean.setNumber(1); colleBean.setCreateTime(datetime);; colleBean.setDateTime(datetime); colleBean.setName("我的收藏"); colleBean.setUrl("https://music.douban.com"); colleBean.setTag(tagBean); colleBean.setUserid(1233); colleBean.setUsername("username"); tagBean.setCollection(colleBean); base.save(colleBean); } @Test public void testget(){ CollectionBean sss = (CollectionBean)base.get(colleBean.getClass(), 48); System.out.println(sss.getName()+" /// "+sss.getTag().getName()); }}
0 2
- hibernate多表关联配置
- hibernate多表关联配置
- hibernate多表关联配置
- hibernate多表关联配置
- hibernate多表关联配置
- hibernate多表关联
- hibernate多表关联
- Hibernate多对一双表关联配置属性理解
- Hibernate多对多的关联配置
- Hibernate 多对多关联映射配置
- hibernate一对多关联关系配置经验
- hibernate多对一关联配置
- hibernate一对多关联配置(四)
- hibernate表关联的各种配置:
- hibernate表关联的各种配置
- hibernate 关联关系配置
- Hibernate关联 配置总结
- Hibernate关联关系配置
- 服务端支付宝App支付对接笔记
- Maven 生成可运行的jar的多种方式
- 算法提高 盾神与条状项链
- View事件分发机制初步
- Java中保留字和关键字的区别
- hibernate多表关联配置
- 烟蒂换烟-Peter's Smokes
- BZOJ 1059: [ZJOI2007]矩阵游戏 二分图匹配
- SpringBatch Step StepExecution
- C语言实验——从大到小输出a、b、c(选择结构)(sdut oj)
- 元素水平居中和垂直居中的方式总结
- 单列设计模式
- 第十七节 类型参数(一)
- C语言实验——圆柱体计算