hibernate--组件映射
来源:互联网 发布:玉石和宝石的区别 知乎 编辑:程序博客网 时间:2024/06/11 15:12
组件映射:将一个对象属性组合到另外一个对象中(如两张表在数据库中组合成一张表),一个类中的属性包含另一个类的对象的引用
1、通过Annotation注解
Person.java:
package com.bean;import javax.persistence.Entity;import javax.persistence.Id;import javax.persistence.IdClass;import javax.persistence.OneToOne;public class Person {private String wifeName;private int age;public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getWifeName() {return wifeName;}public void setWifeName(String wifeName) {this.wifeName = wifeName;}}
PersonID.java:
package com.bean;import javax.persistence.Embedded;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.JoinColumn;import javax.persistence.JoinColumns;import javax.persistence.OneToOne;@Entitypublic class PersonID {private int id;private String name;Person person;@Id@GeneratedValuepublic 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;}@Embeddedpublic Person getPerson() {return person;}public void setPerson(Person person) {this.person = person;}}cfg.xml文件中只需映射PersonId即可:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"><hibernate-configuration> <session-factory> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://localhost:3306/user</property> <property name="connection.username">root</property> <property name="connection.password">root</property> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="show_sql">true</property> <property name="hbm2ddl.auto">update</property> <property name="show_sql">true</property> <property name="format_sql">true</property> <property name="current_session_context_class">thread</property> <mapping class="com.bean.PersonID"/> </session-factory></hibernate-configuration>
2、通过XML配置:
Husband.java:
package com.bean;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.OneToOne;public class Husband {private int id;private String name;private Wife wife;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 Wife getWife() {return wife;}public void setWife(Wife wife) {this.wife = wife;}}Wife.java:
package com.bean;import javax.persistence.Entity;import javax.persistence.Id;public class Wife {private String wifeName;private int age;public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getWifeName() {return wifeName;}public void setWifeName(String wifeName) {this.wifeName = wifeName;}}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> <class name = "com.bean.Husband" table = "Husband" > <id name = "id" column="id"> <generator class="native"/> </id> <property name="name" /> <component name="wife" > <property name="wifeName"/> <property name="age"/> </component> </class></hibernate-mapping>cfg.xml修改映射:
<mapping resource="com/bean/Husband.hbm.xml"/>
阅读全文
0 0
- Hibernate高级映射 --- 组件映射
- Hibernate组件映射
- hibernate中的组件映射
- hibernate之映射组件
- Hibernate组件映射
- Hibernate组件映射
- Hibernate 映射组件属性
- hibernate 组件映射小结
- 【转载】hibernate组件映射
- hibernate组件映射_XML
- hibernate组件映射_Annotation
- Hibernate组件映射
- Hibernate组件映射
- hibernate中组件映射
- Hibernate组件映射
- hibernate组件映射详解
- hibernate映射组件属性
- Hibernate Annotation组件映射
- 使用Android studio 查看其它app的布局的结构
- JAVA中使用FTPClient工具类上传下载
- 执行adb命令无反应
- 51 Job招聘数据分析与可视化
- 关于SpringBoot框架下的service层单元测试问题(mockito)
- hibernate--组件映射
- mat 2 png
- SAP ABAP零碎知识
- ExcelUtils第二种写法
- vsftpd--生产环境配置
- IntentService的原理及使用
- Python 多线程
- java大数乘方,开方
- 浅谈Activity启动顺序