您的位置:首页 > 其它

hibernate 一对多单向关联配置完整示例

2012-06-13 17:26 429 查看
JAVA 类:

public class App implements Serializable {
private Long appId;//应用编号
private String appName;//应用名称

private Set<AppPics> pics;
//省略getter,setter
}


public class AppPics implements Serializable {

private Long Id; //ID
private Long appId; //应用程序编号
private String picurl; //图片地址

//省略getter,setter
}


映射:

App.hbm.xml

<hibernate-mapping package="com.netcru.bean">
<class name="App" table="Applactions">
<id name="appId" column="appId" type="java.lang.Long">
<generator class="identity">
</generator>
</id>
<!-- 属性 -->
<property name="appName" column="appName"></property>

<set name="pics" lazy="false">
<key column="appId"></key>
<one-to-many class="AppPics"/>
</set>

</class>
</hibernate-mapping>


这里 lazy设置为立即加载的。

AppPics.hbm.xml

<hibernate-mapping package="com.netcru.bean">
<class name="AppPics" table="AppPics">
<id name="Id" column="Id" type="java.lang.Long">
<generator class="identity">
</generator>
</id>
<!-- 属性 -->
<property name="appId" column="appId"></property>
<property name="picurl" column="picurl"></property>

</class>
</hibernate-mapping>


表结构:

CREATE TABLE [dbo].[Applactions](
[appId] [int] NOT NULL,
[appName] [varchar](40) NULL,
CONSTRAINT [PK_APPLACTIONS] PRIMARY KEY CLUSTERED
(
[appId] ASC
)
) ON [PRIMARY]


CREATE TABLE [dbo].[AppPics](
[Id] [int] IDENTITY(1,1) NOT NULL,
[appId] [int] NULL,
[picurl] [varchar](200) NULL,
CONSTRAINT [PK_APPPICS] PRIMARY KEY CLUSTERED
(
[Id] ASC
) ON [PRIMARY]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: