首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hibernate单表操作(四)——组件属性

Hibernate单表操作(四)——组件属性

作者头像
MickyInvQ
发布2020-09-27 15:17:44
2380
发布2020-09-27 15:17:44
举报
文章被收录于专栏:InvQ的专栏InvQ的专栏InvQ的专栏

转载请注明:http://blog.csdn.net/uniquewonderq

1.什么是组件属性呢?

它是指:实体类中的某个属性属于用户自定义的类的对象。

理解起来还是不容易:所以写点代码来说明问题:

首先添加一个地址类:

package Entity;
//地址类
public class Address {
		private String postcode;//邮编
		private String phone;//电话
		private String address;//地址
		
		public Address(){
			
		}
		public Address(String postcode, String phone, String address) {
			this.postcode = postcode;
			this.phone = phone;
			this.address = address;
		}
		
		public String getPostcode() {
			return postcode;
		}

		public void setPostcode(String postcode) {
			this.postcode = postcode;
		}

		public String getPhone() {
			return phone;
		}

		public void setPhone(String phone) {
			this.phone = phone;
		}

		public String getAddress() {
			return address;
		}

		public void setAddress(String address) {
			this.address = address;
		}
}

其次再在 student.hbm.xml的映射文件中加入:

        <component name="address" class="Address">
        	<property	name="postcode"  column="POSTCODE"/>
        	<property	name="phone"  column="PHONE"/>
        	<property	name="address"  column="ADDRESS"/>
        </component>

改变先前students类的构造方法:

public Students(int sid, String sname, String gender, Date birthday,
			Address address) {
		this.sid = sid;
		this.sname = sname;
		this.gender = gender;
		this.birthday = birthday;
		this.address=address;
	}

写测试方法:

public void testSaveStudents(){//保存学生用例对象
			//生成地址对象
			Address address=new Address("710024","15319728***","西安市");
			//生成学生对象
			Students s1=new Students(1,"张奇","男",new Date(),address);
			session.save(s1);//保存对象进入数据库,无须写sql语句
		}

因为表单结构发生变化,所以还要将hibernate.cfg.xml中的

<property name="hbm2ddl.auto">update</property> 给为

<property name="hbm2ddl.auto">create</property>

测试结果就是在新建了一个表,相比原来的表结构,新增了3列。(那三列是Address类的对象,该类有三个属性,自然增了3列)。

如下所示:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-06-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档