hibernate ...many2one

来源:互联网 发布:ubuntu grub 修复 编辑:程序博客网 时间:2024/05/17 21:57

为防止冗余,在数据库表设计时在多方加外键

先看annotation:

package com.feng.hibernate;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.Table;@Entity@Table(name="t_group")public class Group {private int id;private String name;@Id@GeneratedValuepublic int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}}

package com.feng.hibernate;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.ManyToOne;import javax.persistence.Table;@Entity@Table(name="t_user")public class User {private int id;private String name;private Group group;@ManyToOnepublic Group getGroup() {return group;}public void setGroup(Group group) {this.group = group;}@Id@GeneratedValuepublic int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}}

再看下xml

Group.hbm.xml

<?xml version='1.0' encoding='utf-8'?><!DOCTYPE hibernate-configuration PUBLIC        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><hibernate-mapping> <class name="com.feng.hibernate.Group"> <id name="id"> <generator class="native"></generator> </id> <property name="name"></property> </class>        </hibernate-mapping>

User.hbm.xml

<?xml version='1.0' encoding='utf-8'?><!DOCTYPE hibernate-configuration PUBLIC        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><hibernate-mapping> <class name="com.feng.hibernate.User"> <id name="id"> <generator class="native"></generator> </id> <property name="name"></property> <many-to-one name="Group" column="groupId"/> </class>        </hibernate-mapping>

原创粉丝点击