在通过hibernate插入之后获取结果时,没有反映出更改

时间:2010-10-18 16:34:06

标签: java mysql database hibernate spring

我正在使用hibernate和spring mvc,当我在DB中插入记录,并尝试在那之后访问它,然后我没有得到结果。 例如 如果为新注册插入记录。用户并在注册后立即登录,然后结果集为空。 我正在使用hibernate模板。

可能是什么问题,我错过了什么......

THX。

我的[app] .servlet.xml

      <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://localhost/dbb" />
    <property name="username" value="r123" />
    <property name="password" value="1234" />
  </bean>
  <bean id="hbSessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="mappingResources">
      <list>
        <value>UserAttributes.hbm.xml</value>
        <value>BlessUser.hbm.xml</value>
        <value>SnsType.hbm.xml</value>
        <value>SnsUser.hbm.xml</value>
        <value>SnsAuthenticator.hbm.xml</value>
      </list>
    </property>
    <property name="hibernateProperties">
      <props>
        <prop key="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</prop>
        <prop key="hibernate.transaction.flush_before_completion">false</prop>
        <prop key="hibernate.transaction.auto_close_session">false</prop>
        <prop key="hibernate.show_sql">true</prop>
      </props>
    </property>
    <property name="dataSource">
      <ref bean="dataSource" />
    </property>
  </bean>

DAO方法

public void saveOrUpdate(E transientObject) {
    getHibernateTemplate().saveOrUpdate(transientObject);
}

HBM

<id name="Id" type="java.lang.Integer" column="bless_uid">
  <generator class="native" />
</id>

<property column="name" length="255" name="Name" not-null="false" type="java.lang.String" />

<property column="email" length="255" name="Email" not-null="false" type="java.lang.String" />

<property column="user_name" length="255" name="UserName" not-null="false"  type="java.lang.String" />

<property column="password" length="255" name="Password" not-null="false" type="java.lang.String" />

<set name="snsUser" lazy="false" cascade="all" table="sns_User">
  <key column="bless_uid" />
  <one-to-many class="com.utilami.model.SnsUser" />
</set>

1 个答案:

答案 0 :(得分:0)

这可能是其他人建议的同花顺问题,或者可能是数据库配置本身的问题。你有MySQL configured to auto-commit吗?也可能是你有一个持久的事务(Hibernate尚未完成事务,因此提交被延迟)。