你应该用了spring配置式事务,被限制了修改了吧。
如下面:
<!-- 事务代理拦截器的配置 -->
<bean id="baseTransactionProxy" abstract="true" class="orgspringframeworktransactioninterceptorTransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="transactionAttributes">
<props>
<prop key="insert">PROPAGATION_REQUIRED</prop>
<prop key="update">PROPAGATION_REQUIRED</prop>
<prop key="delete">PROPAGATION_REQUIRED</prop>
<prop key="">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
这个配置中只允许 添加事务的对象中
以insert , update ,delete 开头的方法名 才允许修改数据库,
否则都是只读。
比方说我们写了一个方法,
doUpdateBook(Book book);
给这个类配置类事务,
那么它是无法修改数据库的,解决方法是,在配置事务里面吧规则加上去。
<!-- 事务代理拦截器的配置 -->
<bean id="baseTransactionProxy" abstract="true" class="orgspringframeworktransactioninterceptorTransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="transactionAttributes">
<props>
<prop key="insert">PROPAGATION_REQUIRED</prop>
<prop key="update">PROPAGATION_REQUIRED</prop>
<prop key="delete">PROPAGATION_REQUIRED</prop>
<prop key="doUpdate">PROPAGATION_REQUIRED</prop>
<prop key="">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
,这样,所有 doUpdate 开头的方法都可以修改数据库。
hibernate能够生成查询语句 说明它已经进行了查询 *** 作
返回结果数据记录为0 很可能出现的情况 是 : 该查询未未访问到指定数据库表 。
当使用的数据库为 oracle数据库 时,你会在bean配置文件(hbmxml)中设置 时会有如下的class设置:
<class name="compbhibernatepoLogin" table="LOGIN" schema="SCOTT">
schema 表示该表的存放用户,所以如果你的表放在了其他用户(如system),查询语句就无法得到相应结果了。
所以,移植项目时也需要查看此用户是否为你正使用的用户。
另外表与表之间存在关系映射(一对多、多对多等)时,不管你的本class name属性是否为全路径,在映射到的另一class属性最好写全称,否则很可能出现无法到指定映射bean的错误
<many-to-many column="ROLES_ID" class="comsxdfmanagebeanRoles" lazy="false"/>
你的HQL查询语句对应的SQL查询语句为:
select from LmDO where sjlm=null;
这条查询语句的结果永远为空。因为在SQL查询语句中,表达式('a'=null)的比较结果即不是true,也不是false,而是null。
如果要查询sjlm为null的记录,应该使用 is null 比较运算符。
以上就是关于利用hibernate+spring向mysql数据库加入数据。执行成功,但是数据库没数据。如果用hibernate查寻结果正常全部的内容,包括:利用hibernate+spring向mysql数据库加入数据。执行成功,但是数据库没数据。如果用hibernate查寻结果正常、Hibernate 生成的查询语句拿到数据库能查出数据 但是在调试的时候没有数据是怎么回事、hibernate 一对多查询不了了!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)