hibernate注解使用

今天写了个po类,无论怎么运行环境,都产生不了表,后来才知道是关键字的问题。

private String start;

 

@Column()
    public String getStart()
    {
        return start;
    }
    
    public void setStart(String start)
    {
        this.start = start;
    }

 

这个start在oracle中是关键字。改为如下

@Column(name = "enable")
    public String getStart()
    {
        return start;
    }
    
    public void setStart(String start)
    {
        this.start = start;
    }

 

oracel的关键字附上:

一般保留关键字不能用做对象名
ACCESS  ADD  ALL  ALTER  AND  ANY  AS  ASC  AUDIT  BETWEEN  BY  CHAR CHECK  CLUSTER  COLUMN  COMMENT  COMPRESS  CONNECT  CREATE  CURRENT DATE  DECIMAL  DEFAULT  DELETE  DESC  DISTINCT  DROP  ELSE  EXCLUSIVE EXISTS  FILE  FLOAT FOR  FROM  GRANT  GROUP  HAVING  IDENTIFIED IMMEDIATE  IN  INCREMENT  INDEX  INITIAL  INSERT  INTEGER  INTERSECT INTO  IS  LEVEL  LIKE  LOCK  LONG  MAXEXTENTS  MINUS  MLSLABEL  MODE MODIFY  NOAUDIT  NOCOMPRESS  NOT  NOWAIT  NULL  NUMBER  OF  OFFLINE ON  ONLINE  OPTION  OR  ORDER P CTFREE PRIOR PRIVILEGES PUBLIC RAW RENAME RESOURCE REVOKE ROW ROWID ROWNUM ROWS SELECT SESSION SET SHARE SIZE SMALLINT START SUCCESSFUL SYNONYM SYSDATE TABLE THEN TO TRIGGER UID UNION UNIQUE UPDATE USER VALIDATE VALUES VARCHAR VARCHAR2 VIEW WHENEVER WHERE WITH
详细信息可以查看v$reserved_words视图

public RasDescPo findById(String id)
    {
        if (StringUtils.isEmpty(id))
        {
            return null;
        }
        List<RasDescPo> rasDescPos = getHibernateTemplate().find("from RasDescPo where start=?", id);
        if (CollectionUtils.isEmpty(rasDescPos))
        {
            return null;
        }
        return rasDescPos.get(0);
    }

 

这样的查询也会有问题,具体原因暂时不知道,有待求解。

List<RasDescPo> rasDescPos = getHibernateTemplate().find("from RasDescPo where start=?", id);

 是不是这句代码写错了,条件的字段都不一样哦。

我认为改为如下:

public RasDescPo findById(String id)
    {
        if (StringUtils.isEmpty(id))
        {
            return null;
        }
        List<RasDescPo> rasDescPos = getHibernateTemplate().find("from RasDescPo where started=?", id);
        if (CollectionUtils.isEmpty(rasDescPos))
        {
            return null;
        }
        return rasDescPos.get(0);
    }

 或

public RasDescPo findById(String id)
    {
        if (StringUtils.isEmpty(id))
        {
            return null;
        }
        List<RasDescPo> rasDescPos = getHibernateTemplate().find("from RasDescPo where RasDescPo.id=?", id);
        if (CollectionUtils.isEmpty(rasDescPos))
        {
            return null;
        }
        return rasDescPos.get(0);
    }

 可以解决问题。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值