HelloWorld(XML/annotation)

本文详细介绍了在Hibernate中使用XML配置和注解配置的方法,并演示了如何配置主键自增长。通过两个示例,分别是Student类的XML配置和Teacher类的注解配置,展示了不同配置方式的应用。
在hibernate.cfg.xml中两种版本的HelloWorld的配置
<mapping resource="com/m4java/hibernate/model/Student.hbm.xml" />
<mapping class="com.m4java.hibernate.model.Teacher"/>

1.XML版
在pojo类包下写一个相应的.hbm.xml文件,例如:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.m4java.hibernate.model">
<class name="Student" table="student">
<id name="id">
<!-- oralce中主键自增长的配置方式: -->
<generator class="sequence" >
<param name="sequence">student_id_seq</param>
</generator>
</id>
<property name="name"></property>
<property name="age"></property>
</class>
</hibernate-mapping>

测试方法:

Student s=new Student();
s.setName("s4");
s.setAge(3);

Configuration cfg=new Configuration();
SessionFactory sf=cfg.configure().buildSessionFactory();//获取配置,拿到SessionFactory
Session session=sf.openSession();//获得Session
session.beginTransaction();//开始事务
session.save(s);//保存对象
session.getTransaction().commit();//提交
session.close();//关闭资源
sf.close();

cfg.configure()方法要求hibernate.cfg.xml存放在src目录下,也可以自己指定,具体的可查看相关API。
2.annotation
这个版本相对简单些,主要在pojo类中使用注解,注意引用的包为javax.persistence.XXXXX

@Entity
public class Teacher {

private int id;
private String name;
private String title;

@Id
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}


测试方法跟XML的一样。

关于在oracle中实现主键自增长:
首先在oracle中创建一个sequence-->create sequence test minvalue 1 maxvalue 100 start with 1 increment by 1;
在配置文件中如下配置即可:

<id name="id">
<!-- oralce中主键自增长的配置方式: -->
<generator class="sequence" >
<param name="sequence">test</param>
</generator>
</id>
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值