hibernate 关联映射学习备忘笔记

这里是主控端统一为范围大的一方或者起主要作用的一方。
            ------该博客仅为个人学习备忘所用,所有错漏欢迎指正。

单向一对一外键关联映射:

package demo.pojo.o_o2o;

public class Account {
	public Address getAddress() {
		return address;
	}
	public void setAddress(Address address) {
		this.address = address;
	}
	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;
	}
	private Integer id;
	private String name ;
	private Address address ;
	
}

package demo.pojo.o_o2o;

public class Address {
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	private Integer id ;
	private String address ;

}

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 单向一对一外键关联主控端 -->

<hibernate-mapping>
	<class name="demo.pojo.o_o2o.Account" table="t_account">
		<!-- 生成对象唯一的id -->
		<id name="id" column="id" type="java.lang.Integer">
			<generator class="native" />
		</id>
		<property name="name" />
		<!--因为是外键,所以使用 many-to-one,
		    通过many-to-one 生成主控对被控的多对一关系,
		    再通过unique="true" 建立主控对被控的一对一关系,
		    column="address_id"为主控端用于连接被控端所对应的表中的列 -->
		<many-to-one name="address" column="address_id" unique="true" />
	</class>
</hibernate-mapping>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 单向一对一外键关联被控端 -->
<hibernate-mapping>
    <class name="demo.pojo.o_o2o.Address" table="t_address">
        <id name="id" column="id" type="java.lang.Integer">
            <generator class="native" />
        </id>
        <property name="address"></property>
    </class>
</hibernate-mapping>

单向一对一主键关联映射:

package demo.pojo.o_o2o;

public class Citizen {

	public IDCard getIdCard() {
		return idCard;
	}
	public void setIdCard(IDCard idCard) {
		this.idCard = idCard;
	}
	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;
	}
	private Integer id;
	private String name;
	private IDCard idCard; 
	
}

package demo.pojo.o_o2o;

public class IDCard {

	public String getCardNo() {
		return cardNo;
	}
	public void setCardNo(String cardNo) {
		this.cardNo = cardNo;
	}
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	private Integer id;
	private String cardNo;
}

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 单向一对一主键关联主控端 -->
<hibernate-mapping>
    <class name="demo.pojo.o_o2o.Citizen" table="t_citizen">
        <id name="id">
            <!-- 生成id时需要指明id为“foreign”,
                也就是主控端的id是另一张表的外键, -->
            <generator class="foreign" >
                <!-- name="property"为“foreign”指明要设置的外键为一个实体类,
                    idCard是主控端对被控端的引用的名称 -->
                <param name="property">idCard</param>
            </generator>
        </id>
        <property name="name" />
        <!-- 这里需要指明是一对一关系,
            name="idCard"为param的值,
            并且需要设置关联限制constrained="true" -->
        <one-to-one name="idCard" constrained="true" />   
    </class>

</hibernate-mapping>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 单向一对一主键关联被控端 -->
<hibernate-mapping>
	<class name="demo.pojo.o_o2o.IDCard" table="t_idcard">
		<id name="id" column="id" type="java.lang.Integer">
			<generator class="native">
			</generator>
		</id>
		<property name="cardNo" />
	</class>
</hibernate-mapping>

单向一对多关联映射:

package demo.pojo.o_o2m;

import java.util.Set;

public class ProvincePK {
	public Set<CityPK> getCityPK() {
		return cityPK;
	}
	public void setCityPK(Set<CityPK> cityPK) {
		this.cityPK = cityPK;
	}
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getProvince() {
		return province;
	}
	public void setProvince(String province) {
		this.province = province;
	}
	private Integer id;
	private String province;
	private Set<CityPK> cityPK;

}

package demo.pojo.o_o2m;

public class CityPK {
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getCity() {
		return city;
	}
	public void setCity(String city) {
		this.city = city;
	}
	private Integer id;
	private String city;
	
}

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 单向一对多关联主控端 -->
<hibernate-mapping>
    <class name="demo.pojo.o_o2m.ProvincePK" catalog="hours" table="t_province">
        <id name="id" column="id" type="java.lang.Integer">
            <generator class="native" />
        </id>
        <!-- name="cityPK"为引用对象cityPK的名称 -->
        <set name="cityPK" cascade="all">
        <!-- column="provincePK"为要在cityPK表中生成的外键列的名称 -->
            <key column="provincePK" />
            <one-to-many class="demo.pojo.o_o2m.CityPK" />
        </set>
        <property name="province" type="java.lang.String">
            <column name="province" />
        </property>        
    </class>
</hibernate-mapping>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 单向一对多主键关联被控端 -->
<hibernate-mapping>
    <class name="demo.pojo.o_o2m.CityPK" catalog="hours" table="t_city">
      <id name="id" column="id" type="java.lang.Integer">
          <generator class="native" />
      </id>
      <property name="city" type="java.lang.String">
          <column name="city" />
      </property>
    </class>
</hibernate-mapping>

单向多对一关联映射:

package demo.pojo.o_m2o;


public class ProvincePK {
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getProvince() {
		return province;
	}
	public void setProvince(String province) {
		this.province = province;
	}
	private Integer id;
	private String province;
}

package demo.pojo.o_m2o;

public class CityPK {
	public ProvincePK getProvincePK() {
		return provincePK;
	}
	public void setProvincePK(ProvincePK provincePK) {
		this.provincePK = provincePK;
	}
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getCity() {
		return city;
	}
	public void setCity(String city) {
		this.city = city;
	}
	private Integer id;
	private String city;
	private ProvincePK provincePK;
}

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 单向多对一关联主控端 -->
<hibernate-mapping>
    <class name="demo.pojo.o_m2o.ProvincePK" catalog="hours" table="t_province">
        <id name="id" column="id" type="java.lang.Integer">
            <generator class="native" />
        </id>
        <property name="province" type="java.lang.String">
            <column name="province" />
        </property>        
    </class>
</hibernate-mapping>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 单向多对一关联被控端 -->
<hibernate-mapping>
    <class name="demo.pojo.o_m2o.CityPK" catalog="hours" table="t_city">
      <id name="id" column="id" type="java.lang.Integer">
          <generator class="native" />
      </id>
      <property name="city" type="java.lang.String">
          <column name="city" />
      </property>
      <!-- name="provincePK"表示所引用的ProvincePK的对象,
           column="provincePK" 为对应ProvincePK的对象所要生成的列 -->
      <many-to-one name="provincePK" column="provincePK" not-null="true" />
    </class>
</hibernate-mapping>


多对多关联映射:

package demo.pojo.ot_m2m;

import java.util.Set;

public class Course {
	public Set<Student> getStudentsList() {
		return studentsList;
	}
	public void setStudentsList(Set<Student> studentsList) {
		this.studentsList = studentsList;
	}
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getTitle() {
		return title;
	}
	public void setTitle(String title) {
		this.title = title;
	}
	private Integer id;
	private String title;
	private Set<Student> studentsList;

}

package demo.pojo.ot_m2m;

import java.util.Set;

public class Student {
	public Set<Course> getCoursesList() {
		return coursesList;
	}
	public void setCoursesList(Set<Course> coursesList) {
		this.coursesList = coursesList;
	}
	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;
	}
	private Integer id;
	private String name;
	private Set<Course> coursesList;
}

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 多对多关联 -->
<hibernate-mapping>
    <class name="demo.pojo.ot_m2m.Course"  catalog="hours" table="t_course">
        <id name="id" column="id" type="java.lang.Integer" >
            <generator class="native" />
        </id>
        <property name="title"  type="java.lang.String">
            <column name="title"/>
        </property>
        <!-- name="studentsList" 表示所引用的学生类的对象,
            课程类中的课程所相对应的一组学生,
          例如:一门语文课对应一堆学语文的学生 -->
        <set name="studentsList" table="stu_course" >
        <!-- column="coursesList"表示在第三张表中生成课程id的列,
            每一个学生在这一列中都会分配到一个课程id,对应相应的课程 -->
            <key column="coursesList" />
            <!-- class="demo.pojo.ot_m2m.Student" 为要指向的关联的类,
             column="studentsList"为用什么和这个类关联 -->
            <many-to-many class="demo.pojo.ot_m2m.Student" column="studentsList"></many-to-many>
        </set>
        
    </class>
</hibernate-mapping>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 多对多关联 -->
<hibernate-mapping>
    <class name="demo.pojo.ot_m2m.Student" catalog="hours" table="t_student" >
        <id name="id" column="id"  type="java.lang.Integer" >
            <generator class="native" />
        </id>
        <property name="name"  type="java.lang.String">
            <column name="stuName"/>
        </property>
        <!-- 和课程的道理相似 -->
        <set name="coursesList" table="stu_course" >
        <!-- column="studentsList" 表示在第三张表中生成学生id的列,
            里面会有每一个学生的id,旁边"coursesList"列对应的是该学生有修的课程 -->
            <key column="studentsList" />
            <!-- 和课程的道理相似 -->
            <many-to-many class="demo.pojo.ot_m2m.Course" column="coursesList" ></many-to-many>
        </set>
    </class>
</hibernate-mapping>

双向一对一主键关联映射:

package demo.pojo.t_o2o;

public class Citizen_t {
	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 IDCard_t getIdCard_t() {
		return idCard_t;
	}
	public void setIdCard_t(IDCard_t idCard_t) {
		this.idCard_t = idCard_t;
	}
	private Integer id ;
	private String name ;
	private IDCard_t idCard_t;
}

package demo.pojo.t_o2o;

public class IDCard_t {
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public Integer getCardNo() {
		return cardNo;
	}
	public void setCardNo(Integer cardNo) {
		this.cardNo = cardNo;
	}
	public Citizen_t getCitizen_t() {
		return citizen_t;
	}
	public void setCitizen_t(Citizen_t citizen_t) {
		this.citizen_t = citizen_t;
	}
	private Integer id ;
	private Integer cardNo;
	private Citizen_t citizen_t;

}

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
                                   "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 双向一对一主键关联主控端 -->
<hibernate-mapping >
 <class name="demo.pojo.t_o2o.Citizen_t" table="t_citizen">
  <id name="id" column="id" type="java.lang.Integer" >
  <!-- 主键关联要把id的生成策略改为foreign,也就是外部引用,
      下面的param标签需要指明用什么生成,也就是要用被控端的IDCard_t引用对象 -->
   <generator class="foreign">
        <param name="property">idCard_t</param>
   </generator>
  </id>
  <property name="name" type="java.lang.String">
       <column name="citizenName" />
  </property>
  <!-- 这里需要指明关联的类型,为一对一,
       name="idCard_t"为IDCard_t类中Citizen_t的引用对象,同样要和上面param标签是值一样,
      constrained="true"为必要属性,否则数据库的数据可以随意修改,最后导致数据混乱 -->
  <one-to-one name="idCard_t" constrained="true"/>
 </class>
</hibernate-mapping>

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 双向一对一主键关联被控端 -->
<hibernate-mapping>
    <class name="demo.pojo.t_o2o.IDCard_t" table="t_idcard" >
        <id name="id" column="id" type="java.lang.Integer">
           <generator class="native"></generator>
        </id>
        <property name="cardNo"  type="java.lang.Integer">
            <column name="cardNo" />
        </property>
        <!-- 在被控端添加在属性为说明这是双向的啊啊啊! -->
        <one-to-one name="citizen_t"></one-to-one>
    </class>

</hibernate-mapping>

双向一对一外键关联映射:

package demo.pojo.t_o2o;

public class Account {
	public Address getAddress_id() {
		return address_id;
	}
	public void setAddress_id(Address address_id) {
		this.address_id = address_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;
	}
	private Integer id;
	private String name ;
	private Address address_id ;
	
}

package demo.pojo.t_o2o;

public class Address {
	public Account getAccount() {
		return account;
	}
	public void setAccount(Account account) {
		this.account = account;
	}
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	private Integer id ;
	private String address ;
	private Account account;

}

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 双向一对一外键关联主控端 -->
<hibernate-mapping>
    <class name="demo.pojo.t_o2o.Account" table="t_account">
        <id name="id" column="id" type="java.lang.Integer">
            <generator class="native" />
        </id>
        <property name="name" />
        <!-- 和单向一对一外键关联主控端一样 -->
        <many-to-one name="address_id" column="address_id" unique="true" />
    </class>
</hibernate-mapping>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 双向一对一外键关联被控端 -->
<hibernate-mapping>
    <class name="demo.pojo.t_o2o.Address" table="t_address">
        <id name="id" column="id" type="java.lang.Integer">
            <generator class="native" />
        </id>
        <property name="address"></property>
        <!-- 既然双向,在被控端也需要设置,
            这里的主键已经唯一,所以不用many-to-one,
            name="account"为实体类,在数据表中并不生成,用于和主控端生成关系
            property-ref="address_id"为设置主控端的address_id作为连接的外键,
            若不设置则默认使用主控端的主键作为连接,
            不使用property-ref属性则可能产生两边的连接对不上,
            例如主控端id为:1,被控端name="account"的值为2 -->
        <one-to-one name="account" property-ref="address_id" />
    </class>
</hibernate-mapping>

双向一对多关联映射:

package demo.pojo.t_o2m;

import java.util.Set;

public class Area {
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getAreaName() {
		return areaName;
	}
	public void setAreaName(String areaName) {
		this.areaName = areaName;
	}
	public Set<Street> getStreets() {
		return streets;
	}
	public void setStreets(Set<Street> streets) {
		this.streets = streets;
	}
	private Integer id ;
	private String areaName;
	private Set<Street> streets;
}

package demo.pojo.t_o2m;

public class Street {
	public String getStreetName() {
		return streetName;
	}
	public void setStreetName(String streetName) {
		this.streetName = streetName;
	}
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	
	public Area getArea() {
		return area;
	}
	public void setArea(Area area) {
		this.area = area;
	}
	private Integer id ;
	private String streetName;
	private Area area;

}

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 双向一对多关联主控端,双向的一对多和多对一其实是一样的 -->
<hibernate-mapping>
	<class name="demo.pojo.t_o2m.Area" catalog="hours" table="t_area">
		<id name="id" column="id" type="java.lang.Integer">
			<generator class="native">
			</generator>
		</id>
		<property name="areaName" column="areaName" type="java.lang.String" />
		<!-- name="streets"添加引用对象的名称,由于是一个set集合,所以必须设置下面的class属性
		     column="area"为要在被控端生成的列的名称,
		     class="demo.pojo.t_o2m.Street"为设置要指向的类  -->
		<set name="streets" >
			<key column="area"></key>
			<one-to-many class="demo.pojo.t_o2m.Street" />
		</set>
	</class>
</hibernate-mapping>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 双向一对多关联被控端,双向的一对多和多对一其实是一样的 -->
<hibernate-mapping>
    <class name="demo.pojo.t_o2m.Street" catalog="hours" table="t_street">
        <id name="id" column="id" type="java.lang.Integer">
            <generator class="native"></generator>       
        </id>
        <property name="streetName" type="java.lang.String" column="streetName" />
        <!-- name="area"表示用什么之主控端关联,为Street类中Area引用的对象名称,
            class=""属性可以不要,因为name="area"已经有类指向了
            由于上面class标签中没有指明包名,所以这里需要填写详细路径
            column="area"属性的值必须是和主控端配置文件定义的一样,
            如果不一样就会多生成一个多余的列并且不能通过引用的Area来取得Area -->
        <many-to-one name="area" column="area"/>
        
    </class>
</hibernate-mapping>

双向多对一关联映射:

package demo.pojo.t_o2m;

import java.util.Set;


public class ProvincePK {
	public Set<CityPK> getCityPK() {
		return cityPK;
	}
	public void setCityPK(Set<CityPK> cityPK) {
		this.cityPK = cityPK;
	}
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getProvince() {
		return province;
	}
	public void setProvince(String province) {
		this.province = province;
	}
	private Integer id;
	private String province;
	private Set<CityPK> cityPK;
}

package demo.pojo.t_o2m;

public class CityPK {
	public ProvincePK getProvincePK() {
		return provincePK;
	}
	public void setProvincePK(ProvincePK provincePK) {
		this.provincePK = provincePK;
	}
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getCity() {
		return city;
	}
	public void setCity(String city) {
		this.city = city;
	}
	private Integer id;
	private String city;
	private ProvincePK provincePK;
}

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 双向多对一关联主控端 -->
<hibernate-mapping>
    <class name="demo.pojo.t_o2m.ProvincePK" catalog="hours" table="t_province">
        <id name="id" column="id" type="java.lang.Integer">
            <generator class="native" />
        </id>
        
        <property name="province" type="java.lang.String">
            <column name="province" />
        </property>  
        
        <set name="cityPK" cascade="all">
            <key column="cityPK" />
            <one-to-many class="demo.pojo.t_o2m.CityPK"/>
        </set>      
    </class>
</hibernate-mapping>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 双向多对一关联被控端 -->
<hibernate-mapping>
    <class name="demo.pojo.t_o2m.CityPK" catalog="hours" table="t_city">
      <id name="id" column="id" type="java.lang.Integer">
          <generator class="native" />
      </id>
      <property name="city" type="java.lang.String">
          <column name="city" />
      </property>
      <many-to-one name="provincePK" column="cityPK" />
    </class>
</hibernate-mapping>


一对多都多对一自身关联映射:

package demo.pojo.self;

import java.util.Set;

public class City {
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getCityName() {
		return cityName;
	}
	public void setCityName(String cityName) {
		this.cityName = cityName;
	}
	public City getCity() {
		return city;
	}
	public void setCity(City city) {
		this.city = city;
	}
	public Set<City> getSelfCity() {
		return selfCity;
	}
	public void setSelfCity(Set<City> selfCity) {
		this.selfCity = selfCity;
	}
	private Integer id;
	private String cityName;
	private City city;
	private Set<City> selfCity;
}

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 一对多都多对一自身关联 -->
<hibernate-mapping>
    <class name="demo.pojo.self.City" catalog="hours" table="t_city">
      <id name="id" column="id" type="java.lang.Integer">
          <generator class="native" />
      </id>
      <property name="cityName" type="java.lang.String">
          <column name="cityName" />
      </property>
      <!-- 主控端和被控端都是自己 -->
      <set name="selfCity" inverse="true">
          <key column="cityID"></key>
          <one-to-many class="demo.pojo.self.City"/>
      </set>
      <many-to-one name="city" column="cityID" />
    </class>
</hibernate-mapping>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 内容概要 《计算机试卷1》是一份综合性的计算机基础和应用测试卷,涵盖了计算机硬件、软件、操作系统、网络、多媒体技术等多个领域的知识点。试卷包括单选题和操作应用两大类,单选题部分测试学生对计算机基础知识的掌握,操作应用部分则评估学生对计算机应用软件的实际操作能力。 ### 适用人群 本试卷适用于: - 计算机专业或信息技术相关专业的学生,用于课程学习或考试复习。 - 准计算机等级考试或职业资格认证的人士,作为实战演练材料。 - 对计算机操作有兴趣的自学者,用于提升个人计算机应用技能。 - 计算机基础教育工作者,作为教学资源或出题参考。 ### 使用场景及目标 1. **学习评估**:作为学校或教育机构对学生计算机基础知识和应用技能的评估工具。 2. **自学测试**:供个人自学者检验自己对计算机知识的掌握程度和操作熟练度。 3. **职业发展**:帮助职场人士通过实际操作练习,提升计算机应用能力,增强工作竞争力。 4. **教学资源**:教师可以用于课堂教学,作为教学内容的补充或学生的课后练习。 5. **竞赛准**:适合准计算机相关竞赛的学生,作为强化训练和技能检测的材料。 试卷的目标是通过系统性的题目设计,帮助学生全面复习和巩固计算机基础知识,同时通过实际操作题目,提高学生解决实际问题的能力。通过本试卷的学习与练习,学生将能够更加深入地理解计算机的工作原理,掌握常用软件的使用方法,为未来的学术或职业生涯打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值