首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法更新tinyint字段

无法更新tinyint字段
EN

Stack Overflow用户
提问于 2017-06-23 15:11:31
回答 1查看 261关注 0票数 0

嗨,我无法通过hibernate更新数据库中的msgFromUserFlag。在更新此值时,我也没有收到任何错误。

这是我在DAO层的代码。在数据库中,我的字段是TINYINT(1)类型,而在持久性类中,它是布尔型的。

代码语言:javascript
复制
public void updateMsgFromUserFlag(CustomerOrder customerOrderEntity){
    try {

        //update(customerOrderEntity);
        final StringBuffer queryString = new StringBuffer("update CustomerOrder custOrder set custOrder.msgFromUserFlag = :param1 where custOrder.goldOrderNumber = :param2");
        final Query query = this.getEm().createQuery(queryString.toString());
        query.setParameter("param1",customerOrderEntity.isMsgFromUserFlag());
        query.setParameter("param2", customerOrderEntity.getGoldOrderNumber());
        int modification=query.executeUpdate();
    }
    catch(PersistenceException ex) {
        otLogger.debug("OrderDaoImpl.exception occurred "+ex);
        throw new TechnicalException(Constants.ERROR_HIBERNATE_EXCEPTION, ex);
    }
}
EN

回答 1

Stack Overflow用户

发布于 2017-06-23 16:26:30

我觉得你的财产是这样的

代码语言:javascript
复制
private boolean msgFromUserFlag=false;

而getter和setter是由eclipse本身生成的,这将生成如下所示的

代码语言:javascript
复制
public boolean isMsgFromUserFlag() {
    return msgFromUserFlag;
}

public void setMsgFromUserFlag(boolean msgFromUserFlag) {
    this.msgFromUserFlag = msgFromUserFlag;
}

您可以尝试将getter更改为getMsgFromUserFlag(),因为错误的getter方法有时会在发布项目时导致Mapping Exception

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44715242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档