在 applicationContext.xml中添加
<!-- 会话配置 --> <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> <property name="dataSource" ref="dynamicDataSource" /> <property name="hibernateProperties"> <props> <prop key="hibernate.show_sql">false</prop> <prop key="hibernate.format_sql">true</prop> <prop key="hibernate.dialect"> org.hibernate.dialect.InformixDialect </prop> </props> </property> <property name="packagesToScan"> <list> <value>com.mofocus.bean.*</value> <!--若写成com.pplus.model.* 则映射不到,还没有来得及看源代码 --> </list> </property> </bean>
常用hibernate注解
@Entity
@Table(name = "module")
表-对象映射
@Id 主键映射 默认属性名与列名一致
@ManyToOne( cascade = {CascadeType.PERSIST, CascadeType.MERGE}, targetEntity=Mysystem.class)
@JoinColumn(name="systemid")
多对一 并绑定外键字段
@NotFound(action=NotFoundAction.IGNORE)
防止hibernate出现绑定对象不存在的情况 忽略 不报错 不然会报错 显示绑定的对象在数据库中找不到对应实例
@Id
@GeneratedValue(generator = "paymentableGenerator")
@GenericGenerator(name = "paymentableGenerator", strategy = "increment")
主键自增长 设置为increment 理论上兼容所有数据库
注入sessionFactory方法
@Resource
private SessionFactory sessionFactory;
@Resource
private JdbcTemplate jdbcTemplate;
不需要映射的属性需要在其get方法上添加 @Transient 表示该属性不序列化