`
默翁1
  • 浏览: 26725 次
社区版块
存档分类
最新评论

配置多对1双向关联

 
阅读更多

同样以商品和厂商为例,商品对厂商为多对1,则反过来,厂商对商品为1对多关系

public class Product {
	private Integer id;
	private String name;
	private double price;
	private Factory factory;
	public Product(){}
	public Product(Integer id){
		this.id=id;
	}
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public double getPrice() {
		return price;
	}
	public void setPrice(double price) {
		this.price = price;
	}
	public Factory getFactory() {
		return factory;
	}
	public void setFactory(Factory factory) {
		this.factory = factory;
	}
	
}

 

public class TestApplication7 {
	public static void main(String[] args) {
		Configuration configuration=new Configuration().configure();
		SessionFactory sessionFactory=configuration.buildSessionFactory();
		Session session=sessionFactory.openSession();
		Transaction transaction=session.beginTransaction();
		Integer(3));
		System.out.println(product.getName()+"===="+product.getFactory().getFactoryname());
		transaction.commit();*/	
		Factory factory=(Factory)session.get(Factory.class, new Integer(1));
		Set<Product>products =factory.getProducts();
		Iterator<Product> iterator=products.iterator();
		while(iterator.hasNext()){
			Product product=iterator.next();
			System.out.println(product.getName());
		}
		session.close();
	}

 

<hibernate-mapping>
	<!-- 每一个class类对应一个持久化对象 -->
	<class name="model.Factory" table="mw_factory">
		<id name="id">
		<!-- 主键的生成策略 -->
			<generator class="identity"></generator>
		</id>
		<property name="Factoryname" type="string" length="45">
			<column name="factoryName"></column>
		</property>
		<set name="products" inverse="true">
			<key column="factoryid"></key>
			<one-to-many class="model.Product"/>
		</set>
	</class>
</hibernate-mapping>

 

public class Factory {
	private int id;
	private String Factoryname;
	private Set<Product> products; 
	public Factory(){}
	
	public Factory(Integer id){
		this.id=this.id;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getFactoryname() {
		return Factoryname;
	}
	public void setFactoryname(String factoryname) {
		Factoryname = factoryname;
	}

	public Set<Product> getProducts() {
		return products;
	}

	public void setProducts(Set<Product> products) {
		this.products = products;
	}
	
	
	
}

 

<hibernate-mapping>
	<!-- 每一个class类对应一个持久化对象 -->
	<class name="model.Product" table="mw_product">
		<id name="id">
		<!-- 主键的生成策略 -->
			<generator class="identity"></generator>
		</id>
		<property name="name" type="string" length="45">
			<column name="name"></column>
		</property>
		<property name="price" type="double">
			<column name="price"></column>
		</property>
		<many-to-one name="factory" class="model.Factory" cascade="all">
			<column name="factoryid"></column>
		</many-to-one>
	</class>
</hibernate-mapping>

 

分享到:
评论

相关推荐

    Hibernate ORM - 一对多双向关联关系

    描述部分为空,但我们可以根据标题推测,这篇博客可能详细解释了如何在Hibernate中配置和管理这种一对多双向关联,包括XML配置、注解方式,以及如何在代码中进行操作和查询。 **Hibernate ORM简介** Hibernate是一...

    hibernate多对多双向关联

    总结来说,理解并能正确使用Hibernate中的多对多双向关联是Java开发中的重要技能,涉及到实体设计、映射配置、数据操作和性能优化等多个方面。通过学习提供的博客和相关代码示例,开发者可以深入掌握这一主题,并将...

    JPA中的多对多双向关联实体定义与注解设置

    在这个主题中,我们将深入探讨如何在JPA中定义和配置双向多对多关联实体,并通过注解进行设置。 首先,我们需要了解JPA中的几个关键注解: 1. `@Entity`:标记一个类作为JPA的实体类,使得该类可以被JPA管理并映射...

    mybatis系列三:一对多双向关联

    在MyBatis系列的第三部分,我们将深入探讨“一对多双向关联”的概念及其实现方法。 首先,理解“一对多”关联是关键。在数据库设计中,这种关系表示一个实体(如订单)可以与多个其他实体(如订单中的商品)相关联...

    hibernate一对多,多对一,一对多双向关联

    “Hibernate 一对多,多对一,一对多双向关联”是指在Java持久化框架Hibernate中,实体间常见的三种关联关系。在数据库设计中,这种关联关系是常见的,例如一个用户可以有多个订单(一对多),一个订单对应一个用户...

    多对一双向关联关系实现源码

    总结,多对一双向关联关系在Hibernate中的实现涉及实体类的注解配置、级联操作的管理以及在业务逻辑中维护关联的正确性。理解和熟练掌握这种关联关系对于开发高效、稳定的企业级应用至关重要。通过分析`hibernateM2O...

    多对一双向关联(视频)

    在本案例中,"多对一双向关联"指的是一个实体(类)可以与多个实例另一个实体(类)相关联,而另一个实体同样可以反向引用到第一个实体。这种关联在数据库表的设计和ORM(对象关系映射)框架如Hibernate中尤为关键。...

    JPA中的一对一双向关联

    下面将详细介绍JPA中一对一双向关联的概念、配置、实现方法以及其在实际开发中的应用。 一、一对一双向关联概念 一对一双向关联是指在一个实体类中有一个字段指向另一个实体类,同时在另一个实体类中也有一个字段...

    Hibernate一对一主键关联映射(双向关联)

    "双向关联"则意味着在两个实体类中,都可以直接访问到对方的实例,即在实体A中有一个对实体B的引用,同时在实体B中也有一个对实体A的引用。 在实际配置中,我们可以使用以下元素来实现这种映射: 1. `@OneToOne`:...

    多对多双向关联

    在编程领域,多对多双向关联是一种常见的关系数据库设计概念,尤其在ORM(对象关系映射)框架中,如Hibernate、JPA等。这个概念主要应用于数据模型的设计,旨在反映现实世界中两个实体之间复杂的关系。 标题“多对...

    JPA中的一对多双向关联与级联操作

    在Java Persistence API (JPA) 中,一对...总的来说,JPA的一对多双向关联及级联操作为开发者提供了便利,但也需要注意合理配置以避免潜在的问题。在实际开发中,我们需要根据业务需求和性能考虑来选择合适的关联策略。

    hibernate03:多对一单向关联、多对一双向关联

    本文主要探讨的是Hibernate中的两种关联关系:多对一单向关联和多对一双向关联。通过理解这两种关联方式,我们可以更好地设计和实现复杂的数据库模型。 首先,我们来看**多对一单向关联**。这种关联意味着一个实体...

    JPA_2_一对多双向关联关系

    为了测试这个配置,你可以创建一个`Main`类,通过EntityManager进行CRUD操作,展示一对多双向关联的增删改查功能。确保在项目中包含所有必要的JPA依赖,如Hibernate,以及相关的jar包。 总的来说,理解并正确实现...

    Hibernate ORM - 多对多双向连接表关联关系

    在Hibernate中,实现多对多双向关联主要涉及以下步骤: 1. **配置实体类**:首先,你需要为每个参与关联的实体定义一个Java类,并添加相应的属性。例如,对于“学生-课程”关系,可以有`Student`和`Course`类,它们...

    Hibernate教程14_关系映射之多对多双向关联

    本教程将重点讲解如何在Hibernate中实现多对多双向关联,这是数据库设计中常见的一种关系类型,它允许一个实体实例与多个其他实体实例相互关联。 在数据库设计中,多对多关系意味着一个表的记录可以与另一个表的多...

    Hibernate双向一对一关联映射(注解版)

    在Java世界中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者将数据库操作转换为面向...在实际开发中,要结合具体需求,合理选择单向或双向关联,并注意管理好关联关系,以优化性能和避免潜在问题。

    Hibernate Annotation 基于外键的一对多双向关联

    本文将深入探讨如何使用Hibernate注解实现基于外键的一对多双向关联。我们将通过具体实例来解析这个主题,并结合源码分析其工作原理。 首先,我们要明白一对多关联意味着一个实体可以拥有多个关联的实体。在数据库...

    13_JPA详解_JPA中的多对多双向关联实体定义与注解设置.zip

    理解并正确配置多对多双向关联是JPA应用中的关键技能,因为它允许开发者更自然地进行数据操作,提高了代码的可读性和可维护性。通过实践和学习,你可以掌握如何在实际项目中有效地使用这些概念和技术。

    一对一双向关联映射

    在Java持久化框架Hibernate中,一对一双向关联映射是一种重要的数据对象关系映射策略,它允许我们在数据库中的两个实体之间建立一对一的关系,并且在Java对象模型中可以从任一侧访问另一侧的对象。这种映射方式增加...

Global site tag (gtag.js) - Google Analytics