`

Hibernate通过Composite-element配置外联表实例 (码)

阅读更多
摘自圣思园Hibenrate 26. 组件映射深度解析 -37分钟

文件: Student.java, Contact.java, Student.hbm.xml


Student.java
public class Student
{
	private String id;
	
	private String name;
	
	private Set contacts=new HashSet();
}



public class Contact
{
	private String method;
	
	private String address;
}


Student.hbm.xml
<hibernate-mapping package="component">
	<class name="Student" table="test_student">
	
 		<id name="id" column="id" type="string">
 			<generator class="uuid"></generator>
 		</id>
 		
 		
 		<property name="name" column="name" type="string"/>
 		
 		
 		<set name="contacts" table="contact">
 			<key column="student_id"></key>
 			
 			<!-- 这里配置了关联表Contact的元素 -->
 			<composite-element class="Contact">
 				<property name="method" type="string"/>
 				<property name="address" type="string"/>
 			
 			</composite-element>
 			
 		</set>
 		
 	
	</class>



</hibernate-mapping>

         
         
     

生成SQL:
Hibernate: create table contact (student_id varchar2(255 char) not null, method varchar2(255 char), address varchar2(255 char))
Hibernate: create table test_student (id varchar2(255 char) not null, name varchar2(255 char), primary key (id))
Hibernate: alter table contact add constraint FK_r3jhjlmx2uie72qpg7l3sedib foreign key (student_id) references test_student





插入
	Session session=HibernateUtil.openSession();
		
		
		Contact c1=new Contact("phone","233333","1");
		Contact c2=new Contact("qq","233333","1");
		
		Student s=new Student("1", "li",ArraysHelper.asSet(c1,c2) );
		
		session.save(s);
		
		Transaction tx=session.beginTransaction();
		
		tx.commit();


结果:




  • 大小: 55.7 KB
分享到:
评论

相关推荐

    hibernate-configuration-3.0.dtd、hibernate-mapping-3.0.dtd

    《深入理解Hibernate配置与映射:hibernate-configuration-3.0.dtd与hibernate-mapping-3.0.dtd解析》 在Java世界里,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。而`hibernate-...

    hibernate-distribution-3.3.1.GA

    很多人为了配置jpa找这个动态产生字节码的jar文件,hibernate-distribution-3.3.1.GA包太大,而hibernate-distribution-3.3.2.GA的jar没有这个jar文件,希望对大家有用

    hibernate入门--第一个实例

    在这个“hibernate入门--第一个实例”中,我们将了解如何设置Hibernate环境,创建实体类,配置映射文件,以及执行基本的CRUD(创建、读取、更新和删除)操作。 1. **环境搭建** - **下载与安装**: 首先,你需要从...

    hibernate-jpa-2.0-api-1.0.1.Final.jar

    hibernate-jpa-2.0-api-1.0.1.Final.jar

    hibernate-jpa-2.1-api-1.0.0.final.jar.zip

    - **缓存**: Hibernate的二级缓存可以显著提升性能,通过配置可以缓存查询结果和实体实例。 - **批处理**: 使用批处理更新和插入,可以减少数据库交互次数,提高效率。 - **连接池**: 配置合适的连接池,如...

    hibernate-jpa-2.0-api-1.0.1.Final-sources.jar

    hibernate-jpa-2.0-api-1.0.1.Final-sources.jar hibernate jpa 源代码

    hibernate-mapping-3.0.dtd

    hibernate-mapping-3.0.dtd 配置后,就会在xml中进行提示

    Hibernate 离线的配置方法(hibernate-mapping-3.0.dtd)

    因为Hibernate在读出hbm.xml文件时需要通过网络读取到hibernate-mapping-3.0.dtd 文件。 如果没有网络不能正常工作。 所以提供上述文件。 以及hibernate-mapping-3.0.dtd,hibernate-configuration-3.0.dtd提供下载...

    hibernate-core-5.0.11.Final.jar

    《深入理解Hibernate Core 5.0.11.Final....通过以上分析,我们可以看出`hibernate-core-5.0.11.Final.jar`在ORM中的重要地位。掌握其源码和应用,对于提升Java开发人员的数据库操作能力和项目性能优化具有深远意义。

    hibernate-commons-annotations-4.0.1.Final.jar

    hibernate-commons-annotations-4.0.1.Final.jar

    hibernate-cglib-repack-2.1_3.jar.zip

    在实际开发中,引入这个jar文件后,我们可以通过以下步骤使用Hibernate-CGLIB: 1. 配置Hibernate:在Hibernate的配置文件(通常是hibernate.cfg.xml)中,指定使用CGLIB作为代理机制。 2. 创建实体类:编写符合...

    struts-hibernate-nested-demo学习实例

    这个"struts-hibernate-nested-demo"学习实例旨在帮助开发者了解如何将这两个框架结合使用,以构建更复杂的Web应用程序。 在Struts框架中,MVC模式被用来分离业务逻辑、视图和控制流程。控制器接收用户请求,调用...

    hibernate-release-4.2.4.Final.zip

    3. **ORM(对象关系映射)**:ORM是一种编程技术,它将数据库中的表映射为Java类,将行映射为类的实例,列映射为类的属性,使得开发者可以使用面向对象的方式来处理数据库操作,提高了代码的可读性和可维护性。...

    最新 hibernate-release-4.2.13.Final.tgz

    在“hibernate-release-4.2.13.Final”目录下,你会发现一系列的核心jar包,如hibernate-core.jar,它包含了Hibernate的主要功能,包括实体管理、查询API、事务处理等。此外,还有hibernate-entitymanager.jar,专注...

    hibernate-samples-1.1 实例

    hibernate-samples-1.1 实例

    hibernate-entitymanager-3.4.0.GA.rar

    hibernate-entitymanager-3.4.0.GA.rar hibernate-entitymanager-3.4.0.GA.rar hibernate-entitymanager-3.4.0.GA.rar hibernate-entitymanager-3.4.0.GA.rar hibernate-entitymanager-3.4.0.GA.rar hibernate-...

    hibernate-configuration-3.0.dtd

    hibernate-configuration-3.0.dtd 文件,配置后 映射文件就会提示

    hibernate-extensions-2.1.3.zip ,middlegen for hibernate

    而`hibernate-extensions-2.1.3.zip`则包含了一系列对Hibernate原生功能的扩展,这些扩展为开发人员提供了更多便利和灵活性。Middlegen,作为`Middlegen-Hibernate-r5.zip`的主要内容,是针对Hibernate的一个实用...

Global site tag (gtag.js) - Google Analytics