[code="java"]
import java.util.Set;
public class Organization {
private int id;
private String name;
private String sn;
private String description;
//每个组织有一个上级组织.
private Organization parent;
//每个组织有多个下级组织.
private Set<Organization> children;
}
[/code]
谢谢大家了.....
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<property name="name" type="string" >
<column name="name" length="15" />
</property>
<set
name="children"
cascade="save-update"
inverse="true"
>
<key column="parent_id" />
<one-to-many class="Organization" />
</set>
name="parent"
column="parent_id"
class="Organization"
cascade="save-update"
/>
两个一对一,一个一对多
建议你不要使用绝对的一对一,你可以使用一对多,然后把多的一方设置为唯一.这样效率要高一些
hibernate.cgf.xml:
<session-factory>
<property name="connection.username">xxxxx</property>
<property name="connection.url">
jdbc:pointbase:server://localhost/ecport
</property>
<property name="connection.password">xxxx</property>
<property name="connection.driver_class">
com.pointbase.jdbc.jdbcUniversalDriver
</property>
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<mapping resource="Organization.hbm.xml" />
</session-factory>
Organization.hbm.xml:
property-ref="organization"/>
用myeclipse 自己生成.
window ->open perspective ->myeclipse hibernate
在db browser 新建DB连接 选择数据库,选择表 左键-> hibernate reverse...
就可以自动生成相关代码,还可以生成Spring 相关的.
:idea: