Hibernate 4 启用注解

在 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 表示该属性不序列化

原文地址:https://www.cnblogs.com/mingf123/p/3767913.html