Hibernate自连接如何通过外键查询

类如下:publicclassNewsColumnimplementsSerializable{privateIntegerid;privateStringlabelNa... 类如下:
public class NewsColumn implements Serializable {
private Integer id;
private String labelName;
private String labelContent;
private NewsColumn newsColumn; // 多对一,多个子栏目共属于一个父栏目
private Set<NewsColumn> newsColumnSet = new HashSet<NewsColumn>(); // 一对多,一个父栏目有多个子栏目
}
配置文件如下:
<class name="NewsColumn" table="t_newcolumn">
<id name="id" column="id">
<generator class="native" />
</id>
<property name="labelName" length="15" not-null="true"/>
<property name="labelContent" length="15" />

<many-to-one name="newsColumn" column="pid" cascade="save-update" />

<!-- inverse="true":将外键pid交给子栏目管理,父栏目不管理 -->
<set name="newsColumnSet" cascade="all" lazy="extra" inverse="true">
<key column="pid" />
<one-to-many class="NewsColumn"/>
</set>
</class>
需要解决的方法:
public static void get(Session session){
// select * from t_newcolumn where pid != null;
?????????
}
展开
 我来答
斋如风0I5
2015-01-27 · TA获得超过598个赞
知道小有建树答主
回答量:453
采纳率:100%
帮助的人:274万
展开全部
hibernate方便之处就在于你写好配置文件以后,就不用管外键关联之类的事情了,他会帮你完成关联之类的操作,你只需要写你想要的sql语句就行,你通过<many-to-one name="newsColumn" column="pid" cascade="save-update" />
<one-to-many class="NewsColumn"/>这两条语句告诉hibernate这两个表有关联,他就会去帮你完成相关操作。
Storm代理
2023-07-25 广告
StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP... 点击进入详情页
本回答由Storm代理提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式