ssh框架中通过id删除关联表子表中的某条数据,结果通过id返回子表数据是空

@RepositorypublicclassBusinessDaoImplextendsHibernateDaoSupportimplementsBusinessDao{... @Repository
public class BusinessDaoImpl extends HibernateDaoSupport implements BusinessDao {

@Resource
public void setSF(SessionFactory sf) {
super.setSessionFactory(sf);
}

@Override
public void deleteBusiness(Integer id) {
Business business = new Business();
business.setId(id);
System.out.println(business.getId() + "," + business.getAccountId());
getHibernateTemplate().delete(id);
}

}
这个里面的business.getAccountId() = null,这是为什么?通过ID怎么才能获取到这条数据?

我的映射文件Business.hbm.xml:

<hibernate-mapping>
<class name="org.netctoss.entity.Business" table="BUSINESS">
<id name="id" type="integer" column="id">
<generator class="identity">
<param name="identity">BUSINESS_IDE</param>
</generator>
</id>

<property name="unixHost" type="string" column="UNIX_HOST"/>
<property name="osUserName" type="string" column="OS_USERNAME"/>
<property name="loginPassword" type="string" column="LOGIN_PASSWD"/>
<property name="status" type="string" column="STATUS"/>
<property name="createDate" type="date" column="CREATE_DATE"/>
<property name="pauseDate" type="date" column="PAUSE_DATE"/>
<property name="closeDate" type="date" column="CLOSE_DATE"/>

<!-- 配置account属性,采用多对一关系加载相关的account内容 -->
<many-to-one name="account" column="ACCOUNT_ID" fetch="join"
not-null="true" class="org.netctoss.entity.Account"/>

<!-- 配置cost属性,采用多对一关系加载相关的cost内容 -->
<many-to-one name="cost" column="COST_ID" fetch="join"
not-null="true" class="org.netctoss.entity.Cost"/>
</class>
</hibernate-mapping>
展开
 我来答
伊骏桀qe
2015-03-06 · TA获得超过207个赞
知道小有建树答主
回答量:4087
采纳率:0%
帮助的人:714万
展开全部
ibernate有一个机制,会自动删除子表的数据,就是你删除主表。如果有你就提示不能删除,你可以去网上找一下,还有一种办法就是在用户删除主表数据的时候你检查子表是否有数据
追问
我不是要删除主表数据,我只是要通过子表ID删除一条子表数据而已,但是我通过getHibernateTemplate().delete(business),business里数据是null
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式