hibernate oracle关联查不出来,hibernate向Oracle里添加数据失败。查询数据能够成功...

entity类set方法都是能够设置成功,然后返回的DTO类也是能够返回正确的字符串,就是用PL/SQL查看表的时候,表是没有更新。弄了一个下午,各种类,hibernate的配置文件也看过了。然后ID用的是本人建的一个sequence。

下面贴上部分代码:

POJO:

@Entity

public class RegisterPO {

private static Logger logger = Logger.getLogger(RegisterPO.class);

private static IPersistence ipS = Platform.getPersistence();

/**

* 用户注册

*/

public void register(Register register) {

TransManager tm = new TransManager();

try {

tm.begin();

Long register_id = ipS.getSequenceL(“register_id”);

register.setRegister_id(register_id);

ipS.save(register);

tm.commit();

} catch (Exception e) {

tm.rollback();

logger.error(e);

throw new YLZCBPException(e);

}

}

}

服务类:

@Entity

public class Register {

static Logger logger = Logger.getLogger(Register.class);

public String register(int hospitalId, int deptCode, int doctorNo,int regType, String appointmentDate, int timeFrameCode,

int scheduleId, int sourceCode, int waitNumber, int cardtype,int cardNo, String name, String idCard, String phone) {

com.register.entity.Register register = new com.register.entity.Register();

RegisterPO po = new RegisterPO();

RegisterDTO dto = new RegisterDTO();

try {

register.setHospitalId(hospitalId);

register.setAppointmentDate(appointmentDate);

register.setCardNo(cardNo);

register.setCardtype(cardtype);

register.setDeptCode(deptCode);

register.setDoctorNo(doctorNo);

register.setIdCard(idCard);

register.setName(name);

register.setPhone(phone);

register.setRegType(regType);

register.setScheduleId(scheduleId);

register.setSourceCode(sourceCode);

register.setTimeFrameCode(timeFrameCode);

register.setWaitNumber(waitNumber);

dto.setSuccess(1);

dto.setMessage(“预约成功”);

po.register(register);

} catch (YLZCBPException ye) {

logger.info(ye.getMessage());

} catch (Exception e) {

dto.setSuccess(2);

dto.setMessage(“预约失败”);

logger.error(e);

}

return ReaderSoapXmlOut.readerSoapXMlOut(dto.getColset(),

dto.getStructsList(), “”);

}

}

DTO:

@Entity

public class RegisterDTO extends BaseDTO {

@OutPara(index = 0, label = “能否成功”)

int success;

@OutPara(index = 1, label = “提示消息”)

String message;

public int getSuccess() {

return success;

}

public void setSuccess(int success) {

this.success = success;

}

public String getMessage() {

return message;

}

public void setMessage(String message) {

this.message = message;

}

}

打印出的信息如下,就是提示我们能否成功。在服务类添加的。

message=”预约成功”

/>

现在就是能返回这个字符串,跟以前的效果一样。然后假如返回register.getXXX();这样是能获得到值的。也就是数据是放到实体类里面是成功的,现在就是没有进入到数据库。

以下这个是Register.hbm.xml的配置文件。就是hibernate的配置文件

没有提示错误信息。 就是数据加不进去。 麻烦大家帮看看,谢谢。  分数不多。希望大家能帮忙

解决方案

15

引用:

Quote: 引用:

搞不清楚现在想问什么,查询成功插入失败的话首先去检查事务的配置

主要的问题本人说一下吧。上面的确实太长了,一般人都会懒得看的。

就是

在XXX.hbm.xml文件里设置的这个属性,就是当前这张表的ID,没错吧。 然后column就是在数据库那边设置的当前表的primary key。然后本人就是提示”register” 标识符无效。把里面换成什么,就提示什么无效。当然,换的时候,在数据库那边的表也会跟着换。

那那个事务是在哪里配置呀。貌似是没有用到Spring

报错这个问题跟事务无关,看下你实体中的这个字段以及数据库中的名字及类型能否对应

20

bdd42f0307f99ec6f184e7251f5d3baa.png

假如单用hibernate的话,本人是这么干的。

5

数据库的id是不是设置自增长了?

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明hibernate向Oracle里添加数据失败。查询数据能够成功!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值