SQLGrammarException的解决方案

ERROR JDBCExceptionReporter:234 - Unknown column 'basicperso0_.id' in 'field list'
09:39:01,664 ERROR Dispatcher:38 - Exception occurred during processing request: could not execute query

org.hibernate.exception.SQLGrammarException: could not execute query


出现这个问题 就是@joincolumn 里的name 出了问题   一定要和下面的属性名 对上, 不要写成那边关联类的主键的字段名

我找这个问题 找了一天一夜  ,在公司睡了一晚上 家都没回 太恶心了~

 一定要记住这个教训 

 遇到这种问题 先在  sessionfactory 里把hibernate_show_sql 打开

<!-- sessionFactory工厂 配置-->
    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"><!-- org.springframework.orm.hibernate3.LocalSessionFactoryBean   -->
        <property name="dataSource" ref="dataSource"/>
        
        <property name="packagesToScan" value="com.org.tjksale.*.entity" />  
        <property name="useTransactionAwareDataSource" value="true" />
          
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">${hibernate.dialect}</prop>

<!--  打开这个-->
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.format_sql">true</prop> 
            </props>
        </property>
    </bean>


然后找字段  Unknown column 'basicperso0_.id' in 'field list'  

 这里的basicperso0_.  是hibernate 自动 设置的一个  table名  的  as  类名.

我找这个恶心的 basicperso0_. 找了半天  我确定我的代码中没有个字段 无论是数据库还是 实体类里

  hibernate  我日你大爷!!!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值