组件(Component)映射
来源:互联网 发布:mysql速度 编辑:程序博客网 时间:2024/06/05 14:59
在hibernate中,Component是某个实体的逻辑组成部分,它与实体的根本区别是没有oid(对象标识符),Component是一个被包含的对象,它作为值类型被持久化,而非一个实体。
在hibernate中Component映射采用<component>标签即可。
示例:
1、类Teacher
public class Teacher {private int id;private String name;private String sex;private Address address;//省略get/set方法}2、类Teacher的组件Address
public class Address {private String addr1;private String addr2;private String addr3; //省略get/set}3、Teacher.hbm.xml配置
<hibernate-mapping package="com.test.pojo"><class name="Teacher"><id name="id"><generator class="native"></generator></id><property name="name" /><property name="sex" /><!-- 组件 --><component name="address" class="Address"><property name="addr1" /><property name="addr2" /><property name="addr3" /></component></class></hibernate-mapping>4、HibernateUtil
public class HibernateUtil {private static Configuration cfg=null;private static SessionFactory factory=null;private static Session session=null;static{cfg=new Configuration().configure();factory=cfg.buildSessionFactory(new StandardServiceRegistryBuilder().applySettings(cfg.getProperties()).build());}public static Session getSession(){if(factory!=null)return factory.openSession();factory=cfg.buildSessionFactory(new StandardServiceRegistryBuilder().applySettings(cfg.getProperties()).build());return factory.openSession();}public static void closeSession(){if(session!=null && session.isOpen())session.close();}}
5、测试
public class HibernateTest {@Testpublic void testCreateDB(){Configuration cfg=new Configuration().configure();SchemaExport se=new SchemaExport(cfg);//第一个参数表示是否生成ddl脚本,第二个参数表示是否执行到数据库中se.create(true, true);}/** * 保存数据 */@Testpublic void save(){Session session=null;Transaction tx=null;try{session=HibernateUtil.getSession();tx=session.beginTransaction();Teacher t=new Teacher();t.setName("张三");t.setSex("男");Address address=new Address();address.setAddr1("丰台");address.setAddr2("朝阳");address.setAddr3("海淀");t.setAddress(address);session.save(t);tx.commit();}catch(Exception e){if(tx!=null)tx.rollback();e.printStackTrace();}finally{HibernateUtil.closeSession();}}}执行testCreateDB控制台打印信息如下:
执行save控制台打印信息如下:
数据库表结构如下:
阅读全文
0 0
- 组件(Component)映射
- 组件(Component)映射
- 组件(Component)映射
- Hibernate组件(Component)映射
- hibernate 组件(Component)映射
- hibernate参考手册之---组件(Component)映射
- Hibernate之组件映射(embedded component)
- Hibernate学习20 -- 关联映射10 -- 组件映射(component)
- Hibernate 、多表关联映射-组件关联映射(component)
- [JAVA] Hibernate Component组件映射
- Hibernate基础------》关系映射---》组件映射(component)
- hibernate学习10之component(组件)映射
- 浅析Hibernate映射(四)——组件映射(component)
- 组件(Component)
- vue 组件(Component)
- Component映射
- 组件图(Component Diagram)
- 组件 - Component
- java.io.IOException: Could not locate executablenull\bin\winutils.exe in the Hadoop binaries
- Object类,Math类,日期操作类
- 定时器
- 先匹配DSDT 表格中的HID,如果不匹配,再匹配CID ,这样可以解决兼容性问题
- [UIApplication sharedApplication].keyWindow 添加/切换视图无效,解决方案。
- 组件(Component)映射
- JAVA字符串格式化-String.format()的使用
- 查看apk的versionCode的2种方式
- hibernate连接oracle的例子
- 【HDU1022】Train Problem I(栈-好题)
- Android模拟器/真机/Genymotion模拟器访问本地服务器的方法
- 苹果审核6
- spring 捕获未catch异常
- 前端埋点你知多少