=======line.hbm.xml=======
<hibernate-mapping>
<class name="fatcat.db.Line" table="line">
<id name="bh" type="java.lang.Integer">
<column name="bh" length="30">
<comment>编号</comment>
</column>
<generator class="assigned" />
</id>
<property name="lineName" type="java.lang.String">
<column name="line_name" length="250">
<comment>线路名称</comment>
</column>
</property>
<!-- 主键一对一 -->
<one-to-one name="LineDetail" class="fatcat.db.LineDetail" cascade="all" outer-join="true" />
</class>
</hibernate-mapping>=======LineDetail.hbm.xml=======<hibernate-mapping>
<class name="fatcat.db.LineDetail" table="line_detail"> <id name="line_bh">
<column name="line_bh">
<comment>编号</comment>
</column>
<generator class="foreign">
<param name="property">Line</param>
</generator>
</id> <property name="content" type="java.lang.String">
<column name="content" length="2147483647">
<comment>内容</comment>
</column>
</property> <one-to-one name="Line" class="fatcat.db.Line" constrained="true"/> </class>
</hibernate-mapping>
==========保存action========
Line line = new Line();
line.setBh(2);
line.setLineName("广西桂林");
LineDetail line_detail = new LineDetail();
line_detail.setContent("游玩");
//相互关联
line_detail.setLine(line);
line.setLineDetail(line_detail);
this.line_service.save_all(line);============实现==============
public void save_all(Line line){
sessionFactory.getCurrentSession().saveOrUpdate(line);
}
我上面的这段代码只能新增,不能更新,请大家帮忙看看如何实现在有这条记录存在数据库时就更新,没有记录时就插入呢?
<hibernate-mapping>
<class name="fatcat.db.Line" table="line">
<id name="bh" type="java.lang.Integer">
<column name="bh" length="30">
<comment>编号</comment>
</column>
<generator class="assigned" />
</id>
<property name="lineName" type="java.lang.String">
<column name="line_name" length="250">
<comment>线路名称</comment>
</column>
</property>
<!-- 主键一对一 -->
<one-to-one name="LineDetail" class="fatcat.db.LineDetail" cascade="all" outer-join="true" />
</class>
</hibernate-mapping>=======LineDetail.hbm.xml=======<hibernate-mapping>
<class name="fatcat.db.LineDetail" table="line_detail"> <id name="line_bh">
<column name="line_bh">
<comment>编号</comment>
</column>
<generator class="foreign">
<param name="property">Line</param>
</generator>
</id> <property name="content" type="java.lang.String">
<column name="content" length="2147483647">
<comment>内容</comment>
</column>
</property> <one-to-one name="Line" class="fatcat.db.Line" constrained="true"/> </class>
</hibernate-mapping>
==========保存action========
Line line = new Line();
line.setBh(2);
line.setLineName("广西桂林");
LineDetail line_detail = new LineDetail();
line_detail.setContent("游玩");
//相互关联
line_detail.setLine(line);
line.setLineDetail(line_detail);
this.line_service.save_all(line);============实现==============
public void save_all(Line line){
sessionFactory.getCurrentSession().saveOrUpdate(line);
}
我上面的这段代码只能新增,不能更新,请大家帮忙看看如何实现在有这条记录存在数据库时就更新,没有记录时就插入呢?
解决方案 »
- 看下面的验证输入的验证码的函数代码,为什么在servlet中can的session值都是pass?
- 看过《JSP数据库通用模块开发与系统移植》第6章网上聊天室的进来
- java框架异常
- 三级菜单数据库设计与页面展示
- Struts2生成pdf
- <!--#include file="head.htm"--> 这个是什么里面的包含 asp?
- asp 动态读取文本框中的数据 的问题
- 使JBuilder开发CMP,出现创建DTO/Facade出错的问题~~~
- request级的javabean在iframe中找不到?why!?!?!?!?!
- 奇怪的问题,为什么我的inputstream能够取到内容,但是通过properties取不到对应的属性?
- 日历,可以手动设计节假日,怎么弄
- 超级郁闷的问题,在线等。。。图片上传成功,但老显示上一次的图片
也可以自己在Dao层判断一下 每条记录都有主键吧,先用主键查询一下,如果查到了就更新,没查到就插入。