Hibernate学习笔记——两种配置方式

在Hibernate配置文件中加入

控制台输出执行的sql语句<property name="show_sql">true</property>
        在用到Session session = sf.getCurrentSession()加入此句 <property name="current_session_context_class">thread</property>
         <property name="format_sql">true</property>
       ,没有表时候自动创建相应表 <property name="hbm2ddl.auto">update</property>

1)当数据库表的名字、列名与类的名字、类的成员变量不一致

xml方式:table、column
annotation:
    @Table(name="TeacherTable")
    @Column( name="teaName")
2)数据库列和类中的字段不一致
 XML方式:不写某个属性
 annotation:@Transient
3)关于日期类型的映射

  XML方式:在xml配置文件中:默认的数据类型timestamp,可以设置date、time

<property name="birthday" type="time"></property>

  annotation:
    @Temporal(TemporalType.DATE)
4)关于枚举类型
 XML方式:很麻烦
 annotation:
   @Enumerated( EnumType.STRING)
   @Enumerated( EnumType.ORDINAL)
5)ID生成策略
 XML方式:native、uuid、sequence、identity
        <generator class="native"></generator>
 annotation:
   在主键的get方法前加: @GeneratedValue
   如果修改序列的名字:
在类前加
   @SequenceGenerator( name="tea", sequenceName="teacher_seq")
在主键方法前加
  @GeneratedValue(strategy= GenerationType.SEQUENCE, generator="tea")
6)联合主键
XML方式:
   作为主键的类必须可以序列化,在xml文件中添加
  <composite-id name="pk" class="StudentPk">
   <key-property name="id"></key-property>
   <key-property name="name"></key-property>
     </composite-id>

annotation:

@IdClass(DeptPk.class)
public class Dept {
@Id
private int deptNo;
@Id
private String dname;

........}



  


      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值