你还在为Hibernate的XXX.hbm.xml配置文件中的name属性,class属性,column属性搞的晕头转向吗?其实很简单,name就是你在配置文件JavaBean中定义属性名,class就是该属性名的类型,column就是该属性在数据库表中对应的列名。
比如(一对一关系中的双向外键关系:即在学生卡中以s_id为外键,在两个类中都带有各自参照对象的实例也就是Student类中创建了一个card,Card类中创建了student)
其实:一对一关系有四种情况,分别是:
两个数据表:
学生(student):
学生卡(card):
两个javabean类:
Student类:
Card类:
Student.hbm.xml配置文件
<class name="Student" table="tb_student"> <id name="S_ID" column="s_id" type="int"> <generator class="assigned"></generator> </id> <property name="S_NAME" column="s_name" type="string"></property> <one-to-one name="card" class="Card" cascade="all"></one-to-one> 在Student类中,name就为属性名card,而name的类型就是Card, </class>
Card.hbm.xml配置文件
<class name="Card" table="tb_card"> <id name="C_ID" column="c_id" type="int"> <generator class="assigned"></generator> </id> <property name="C_MONEY" column="c_money" type="string"></property> <!-- 设置unique="true"就可以控制是一对一,而不是多对一 --> <many-to-one name="student" class="Student" cascade="all" unique="true"></many-to-one> 在Student类中,name就为属性名,而name的类型就是Card, </class>
过程图