之前闲着无聊,写过一篇博客,整合SSH框架,后来看看实在是low。
这次没事干,再一次整合,针对上一次进行补充。
上一次整合中SSH框架的dao继承了hibernateTemplate,这次没用这个类,而是继承了自己写的一个baseDao,如下:
package cn.util;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
public class BaseDao {
@Autowired
private SessionFactory sessionFactory;
/**
* 获取当前可用的session
*/
public Session getCurrentSession() {
return sessionFactory.getCurrentSession();
}
private void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
}
还有修改的一处地方是移除了hibernate.cfg.xml配置文件,采用jpa进行配置实体类,如下:
package cn.pojo;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import javax.persistence.*;
@Getter
@Setter
@ToString
@Entity
@Table(name = "STUDENT")
public class Student {
@Id
@Column(name = "ID")
// @GeneratedValue(generator="uuid-hex")
// @GenericGenerator(name="uuid-hex", strategy="uuid.hex") // 采用hibernate的uuid主键策略
@GeneratedValue(generator="AUTOINCREMENT")// 使用oracle自定义的序列生成主键
@SequenceGenerator(name="AUTOINCREMENT",sequenceName = "AUTOINCREMENT",allocationSize = 1,initialValue = 1)
private Integer id;
@Column(name = "NAME")
private String name;
@Column(name = "PASSWORD")
private String password;
}