在save()前打印了一下实体类,save()后也打印了一下实体类,都是有值,但是数据库里就是插入不进数据,我把Student.hbm.xml中的assigned改成native,就能插入进数据。。。
Dao层
public class UserDaoImpl implements UserDao {
private SessionFactory sessionFactory;
@Autowired
public void setSessionFactoryOverride(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
public void addStudent(Student student) {
System.out.println(sessionFactory);
System.out.println("添加前:" + student);
sessionFactory.getCurrentSession().save(student);
}
}
Student.hbm.xml
<hibernate-mapping>
<class name="com.zlm.entity.Student" table="student">
<id name="studentId" type="java.lang.Integer" >
<column name="studentId" />
<generator class="assigned" />
</id>
<property name="password" type="java.lang.String">
<column name="password" />
</property>
<property name="identify" type="java.lang.Integer">
<column name="identify" />
</property>
</class>
</hibernate-mapping>
实体类就是
private int studentId;
get
set
applicationContext.xml
<beans>
<context:component-scan base-package="com.zlm"
use-default-filters="false" />
<context:property-placeholder location="classpath:config/db.properties" />
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driverClass}"></property>
<property name="url" value="${jdbc.jdbcUrl}"></property>
<property name="username" value="${jdbc.user}"></property>
<property name="password" value="${jdbc.password}"></property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect </prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.temp.use_jdbc_metadata_defaults">false</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/zlm/entity/Student.hbm.xml</value>
</list>
</property>
</bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate5.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
</beans>