服务接口的Hibernate实现
系统需要一个额外的jar支持
antlr-2.XXX.jar
hibernate.cfg.xml
查看复制到剪切板打印
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- 数据库连接设置 -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://127.0.0.1:3306/notepad?useUnicode=true&characterEncoding=UTF-8</property>
<property name="connection.username">notepad</property>
<property name="connection.password">notepad</property>
<!-- 默认的JDBC 连接池配置,我们测试用1个就行了 -->
<property name="connection.pool_size">1</property>
<!-- SQL 方言 -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 启用自动的session上下文管理 -->
<property name="current_session_context_class">thread</property>
<!-- 不使用二级缓冲 -->
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<!-- 显示执行的SQL -->
<property name="show_sql">true</property>
<mapping resource="net/java2000/notepad/User.hbm.xml" />
<mapping resource="net/java2000/notepad/Post.hbm.xml" />
</session-factory>
</hibernate-configuration>
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- 数据库连接设置 -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://127.0.0.1:3306/notepad?useUnicode=true&characterEncoding=UTF-8</property>
<property name="connection.username">notepad</property>
<property name="connection.password">notepad</property>
<!-- 默认的JDBC 连接池配置,我们测试用1个就行了 -->
<property name="connection.pool_size">1</property>
<!-- SQL 方言 -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 启用自动的session上下文管理 -->
<property name="current_session_context_class">thread</property>
<!-- 不使用二级缓冲 -->
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<!-- 显示执行的SQL -->
<property name="show_sql">true</property>
<mapping resource="net/java2000/notepad/User.hbm.xml" />
<mapping resource="net/java2000/notepad/Post.hbm.xml" />
</session-factory>
</hibernate-configuration>
User.hbm.xml
查看复制到剪切板打印
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="net.java2000.notepad.User" table="T_User">
<id name="id" column="Id">
<generator class="identity" />
</id>
<property name="username" />
<property name="password" />
</class>
</hibernate-mapping>
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="net.java2000.notepad.User" table="T_User">
<id name="id" column="Id">
<generator class="identity" />
</id>
<property name="username" />
<property name="password" />
</class>
</hibernate-mapping>
Post.hbm.xml
查看复制到剪切板打印
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="net.java2000.notepad.Post" table="T_Post">
<id name="id" column="Id">
<generator class="identity" />
</id>
<property name="idParent" />
<many-to-one name="user">
<column name="userId" />
</many-to-one>
<property name="title" />
<property name="content" />
<property name="datetime" type="timestamp" />
</class>
</hibernate-mapping>
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="net.java2000.notepad.Post" table="T_Post">
<id name="id" column="Id">
<generator class="identity" />
</id>
<property name="idParent" />
<many-to-one name="user">
<column name="userId" />
</many-to-one>
<property name="title" />
<property name="content" />
<property name="datetime" type="timestamp" />
</class>
</hibernate-mapping>
HibernateUtil.java
查看复制到剪切板打印
package net.java2000.notepad;
import org.hibernate.*;
import org.hibernate.cfg.*;
/**
* 辅助类。
*
* @author 赵学庆,Java世纪网(<A href="http://www.java2000.net" target=_blank>[url]http://www.java2000.net</A>[/url])
*
*/
public class HibernateUtil {
private static final SessionFactory sessionFactory;
static {
try {
// 从 hibernate.cfg.xml 创建 SessionFactory
sessionFactory = new Configuration().configure().buildSessionFactory();
} catch (Throwable ex) {
// 如果创建异常,则报错
System.err.println("创建 SessionFactory 失败." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
package net.java2000.notepad;
import org.hibernate.*;
import org.hibernate.cfg.*;
/**
* 辅助类。
*
* @author 赵学庆,Java世纪网([url]http://www.java2000.net[/url])
*
*/
public class HibernateUtil {
private static final SessionFactory sessionFactory;
static {
try {
// 从 hibernate.cfg.xml 创建 SessionFactory
sessionFactory = new Configuration().configure().buildSessionFactory();
} catch (Throwable ex) {
// 如果创建异常,则报错
System.err.println("创建 SessionFactory 失败." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
UserServiceHibernateImpl.java
查看复制到剪切板打印
package net.java2000.notepad.service.impl.hibernate;
import java.util.List;
import net.java2000.notepad.HibernateUtil;
import net.java2000.notepad.User;
import net.java2000.notepad.service.UserService;
import org.hibernate.Query;
import org.hibernate.Session;
/**
* 用户服务的Hibernate实现版本
*
* @author 赵学庆,Java世纪网(<A href="http://www.java2000.net" target=_blank>[url]http://www.java2000.net</A>[/url])
*
*/
public class UserServiceHibernateImpl implements UserService {
@Override
public boolean checkLogin(String username, String password) {
User user = findByUsername(username);
return user == null ? false : user.getPassword().equals(password);
}
@SuppressWarnings("unchecked")
@Override
public User findByUsername(String username) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
Query query = session.createQuery("from User where username=?")
.setParameter(0, username);
List<User> list = query.list();
session.getTransaction().commit();
if (list != null && list.size() > 0) {
return list.get(0);
}
return null;
}
@Override
public User get(long id) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
return (User) session.get(User.class, id);
}
@Override
public User save(User user) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
session.saveOrUpdate(user);
session.getTransaction().commit();
return user;
}
}
package net.java2000.notepad.service.impl.hibernate;
import java.util.List;
import net.java2000.notepad.HibernateUtil;
import net.java2000.notepad.User;
import net.java2000.notepad.service.UserService;
import org.hibernate.Query;
import org.hibernate.Session;
/**
* 用户服务的Hibernate实现版本
*
* @author 赵学庆,Java世纪网([url]http://www.java2000.net[/url])
*
*/
public class UserServiceHibernateImpl implements UserService {
@Override
public boolean checkLogin(String username, String password) {
User user = findByUsername(username);
return user == null ? false : user.getPassword().equals(password);
}
@SuppressWarnings("unchecked")
@Override
public User findByUsername(String username) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
Query query = session.createQuery("from User where username=?")
.setParameter(0, username);
List<User> list = query.list();
session.getTransaction().commit();
if (list != null && list.size() > 0) {
return list.get(0);
}
return null;
}
@Override
public User get(long id) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
return (User) session.get(User.class, id);
}
@Override
public User save(User user) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
session.saveOrUpdate(user);
session.getTransaction().commit();
return user;
}
}
PostServiceHibernateImpl.java
查看复制到剪切板打印
package net.java2000.notepad.service.impl.hibernate;
import java.util.List;
import net.java2000.notepad.HibernateUtil;
import net.java2000.notepad.Post;
import net.java2000.notepad.service.PostService;
import org.hibernate.Session;
/**
* 留言服务的Hibernate实现版本
*
* @author 赵学庆,Java世纪网(<A href="http://www.java2000.net" target=_blank>[url]http://www.java2000.net</A>[/url])
*
*/
public class PostServiceHibernateImpl implements PostService {
@Override
public int countAllSubject() {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
return ((Long) session.createQuery(
"select count(*) from Post where idParent=0").iterate().next())
.intValue();
}
@SuppressWarnings("unchecked")
@Override
public List<Post> findReplyOfSubject(long postId) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
return session.createQuery("from Post where idParent=?").setParameter(0,
postId).list();
}
@SuppressWarnings("unchecked")
@Override
public List<Post> findSubject(int begin, int number) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
return session.createQuery("from Post where idParent=0").setFirstResult(
begin).setMaxResults(number).list();
}
@Override
public Post get(long id) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
return (Post) session.get(Post.class, id);
}
@Override
public Post save(Post post) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
session.saveOrUpdate(post);
session.getTransaction().commit();
return post;
}
}
package net.java2000.notepad.service.impl.hibernate;
import java.util.List;
import net.java2000.notepad.HibernateUtil;
import net.java2000.notepad.Post;
import net.java2000.notepad.service.PostService;
import org.hibernate.Session;
/**
* 留言服务的Hibernate实现版本
*
* @author 赵学庆,Java世纪网([url]http://www.java2000.net[/url])
*
*/
public class PostServiceHibernateImpl implements PostService {
@Override
public int countAllSubject() {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
return ((Long) session.createQuery(
"select count(*) from Post where idParent=0").iterate().next())
.intValue();
}
@SuppressWarnings("unchecked")
@Override
public List<Post> findReplyOfSubject(long postId) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
return session.createQuery("from Post where idParent=?").setParameter(0,
postId).list();
}
@SuppressWarnings("unchecked")
@Override
public List<Post> findSubject(int begin, int number) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
return session.createQuery("from Post where idParent=0").setFirstResult(
begin).setMaxResults(number).list();
}
@Override
public Post get(long id) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
return (Post) session.get(Post.class, id);
}
@Override
public Post save(Post post) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
session.saveOrUpdate(post);
session.getTransaction().commit();
return post;
}
}
系统需要一个额外的jar支持
antlr-2.XXX.jar
hibernate.cfg.xml
查看复制到剪切板打印
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- 数据库连接设置 -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://127.0.0.1:3306/notepad?useUnicode=true&characterEncoding=UTF-8</property>
<property name="connection.username">notepad</property>
<property name="connection.password">notepad</property>
<!-- 默认的JDBC 连接池配置,我们测试用1个就行了 -->
<property name="connection.pool_size">1</property>
<!-- SQL 方言 -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 启用自动的session上下文管理 -->
<property name="current_session_context_class">thread</property>
<!-- 不使用二级缓冲 -->
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<!-- 显示执行的SQL -->
<property name="show_sql">true</property>
<mapping resource="net/java2000/notepad/User.hbm.xml" />
<mapping resource="net/java2000/notepad/Post.hbm.xml" />
</session-factory>
</hibernate-configuration>
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- 数据库连接设置 -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://127.0.0.1:3306/notepad?useUnicode=true&characterEncoding=UTF-8</property>
<property name="connection.username">notepad</property>
<property name="connection.password">notepad</property>
<!-- 默认的JDBC 连接池配置,我们测试用1个就行了 -->
<property name="connection.pool_size">1</property>
<!-- SQL 方言 -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 启用自动的session上下文管理 -->
<property name="current_session_context_class">thread</property>
<!-- 不使用二级缓冲 -->
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<!-- 显示执行的SQL -->
<property name="show_sql">true</property>
<mapping resource="net/java2000/notepad/User.hbm.xml" />
<mapping resource="net/java2000/notepad/Post.hbm.xml" />
</session-factory>
</hibernate-configuration>
User.hbm.xml
查看复制到剪切板打印
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="net.java2000.notepad.User" table="T_User">
<id name="id" column="Id">
<generator class="identity" />
</id>
<property name="username" />
<property name="password" />
</class>
</hibernate-mapping>
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="net.java2000.notepad.User" table="T_User">
<id name="id" column="Id">
<generator class="identity" />
</id>
<property name="username" />
<property name="password" />
</class>
</hibernate-mapping>
Post.hbm.xml
查看复制到剪切板打印
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="net.java2000.notepad.Post" table="T_Post">
<id name="id" column="Id">
<generator class="identity" />
</id>
<property name="idParent" />
<many-to-one name="user">
<column name="userId" />
</many-to-one>
<property name="title" />
<property name="content" />
<property name="datetime" type="timestamp" />
</class>
</hibernate-mapping>
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="net.java2000.notepad.Post" table="T_Post">
<id name="id" column="Id">
<generator class="identity" />
</id>
<property name="idParent" />
<many-to-one name="user">
<column name="userId" />
</many-to-one>
<property name="title" />
<property name="content" />
<property name="datetime" type="timestamp" />
</class>
</hibernate-mapping>
HibernateUtil.java
查看复制到剪切板打印
package net.java2000.notepad;
import org.hibernate.*;
import org.hibernate.cfg.*;
/**
* 辅助类。
*
* @author 赵学庆,Java世纪网(<A href="http://www.java2000.net" target=_blank>[url]http://www.java2000.net</A>[/url])
*
*/
public class HibernateUtil {
private static final SessionFactory sessionFactory;
static {
try {
// 从 hibernate.cfg.xml 创建 SessionFactory
sessionFactory = new Configuration().configure().buildSessionFactory();
} catch (Throwable ex) {
// 如果创建异常,则报错
System.err.println("创建 SessionFactory 失败." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
package net.java2000.notepad;
import org.hibernate.*;
import org.hibernate.cfg.*;
/**
* 辅助类。
*
* @author 赵学庆,Java世纪网([url]http://www.java2000.net[/url])
*
*/
public class HibernateUtil {
private static final SessionFactory sessionFactory;
static {
try {
// 从 hibernate.cfg.xml 创建 SessionFactory
sessionFactory = new Configuration().configure().buildSessionFactory();
} catch (Throwable ex) {
// 如果创建异常,则报错
System.err.println("创建 SessionFactory 失败." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
UserServiceHibernateImpl.java
查看复制到剪切板打印
package net.java2000.notepad.service.impl.hibernate;
import java.util.List;
import net.java2000.notepad.HibernateUtil;
import net.java2000.notepad.User;
import net.java2000.notepad.service.UserService;
import org.hibernate.Query;
import org.hibernate.Session;
/**
* 用户服务的Hibernate实现版本
*
* @author 赵学庆,Java世纪网(<A href="http://www.java2000.net" target=_blank>[url]http://www.java2000.net</A>[/url])
*
*/
public class UserServiceHibernateImpl implements UserService {
@Override
public boolean checkLogin(String username, String password) {
User user = findByUsername(username);
return user == null ? false : user.getPassword().equals(password);
}
@SuppressWarnings("unchecked")
@Override
public User findByUsername(String username) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
Query query = session.createQuery("from User where username=?")
.setParameter(0, username);
List<User> list = query.list();
session.getTransaction().commit();
if (list != null && list.size() > 0) {
return list.get(0);
}
return null;
}
@Override
public User get(long id) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
return (User) session.get(User.class, id);
}
@Override
public User save(User user) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
session.saveOrUpdate(user);
session.getTransaction().commit();
return user;
}
}
package net.java2000.notepad.service.impl.hibernate;
import java.util.List;
import net.java2000.notepad.HibernateUtil;
import net.java2000.notepad.User;
import net.java2000.notepad.service.UserService;
import org.hibernate.Query;
import org.hibernate.Session;
/**
* 用户服务的Hibernate实现版本
*
* @author 赵学庆,Java世纪网([url]http://www.java2000.net[/url])
*
*/
public class UserServiceHibernateImpl implements UserService {
@Override
public boolean checkLogin(String username, String password) {
User user = findByUsername(username);
return user == null ? false : user.getPassword().equals(password);
}
@SuppressWarnings("unchecked")
@Override
public User findByUsername(String username) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
Query query = session.createQuery("from User where username=?")
.setParameter(0, username);
List<User> list = query.list();
session.getTransaction().commit();
if (list != null && list.size() > 0) {
return list.get(0);
}
return null;
}
@Override
public User get(long id) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
return (User) session.get(User.class, id);
}
@Override
public User save(User user) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
session.saveOrUpdate(user);
session.getTransaction().commit();
return user;
}
}
PostServiceHibernateImpl.java
查看复制到剪切板打印
package net.java2000.notepad.service.impl.hibernate;
import java.util.List;
import net.java2000.notepad.HibernateUtil;
import net.java2000.notepad.Post;
import net.java2000.notepad.service.PostService;
import org.hibernate.Session;
/**
* 留言服务的Hibernate实现版本
*
* @author 赵学庆,Java世纪网(<A href="http://www.java2000.net" target=_blank>[url]http://www.java2000.net</A>[/url])
*
*/
public class PostServiceHibernateImpl implements PostService {
@Override
public int countAllSubject() {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
return ((Long) session.createQuery(
"select count(*) from Post where idParent=0").iterate().next())
.intValue();
}
@SuppressWarnings("unchecked")
@Override
public List<Post> findReplyOfSubject(long postId) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
return session.createQuery("from Post where idParent=?").setParameter(0,
postId).list();
}
@SuppressWarnings("unchecked")
@Override
public List<Post> findSubject(int begin, int number) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
return session.createQuery("from Post where idParent=0").setFirstResult(
begin).setMaxResults(number).list();
}
@Override
public Post get(long id) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
return (Post) session.get(Post.class, id);
}
@Override
public Post save(Post post) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
session.saveOrUpdate(post);
session.getTransaction().commit();
return post;
}
}
package net.java2000.notepad.service.impl.hibernate;
import java.util.List;
import net.java2000.notepad.HibernateUtil;
import net.java2000.notepad.Post;
import net.java2000.notepad.service.PostService;
import org.hibernate.Session;
/**
* 留言服务的Hibernate实现版本
*
* @author 赵学庆,Java世纪网([url]http://www.java2000.net[/url])
*
*/
public class PostServiceHibernateImpl implements PostService {
@Override
public int countAllSubject() {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
return ((Long) session.createQuery(
"select count(*) from Post where idParent=0").iterate().next())
.intValue();
}
@SuppressWarnings("unchecked")
@Override
public List<Post> findReplyOfSubject(long postId) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
return session.createQuery("from Post where idParent=?").setParameter(0,
postId).list();
}
@SuppressWarnings("unchecked")
@Override
public List<Post> findSubject(int begin, int number) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
return session.createQuery("from Post where idParent=0").setFirstResult(
begin).setMaxResults(number).list();
}
@Override
public Post get(long id) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
return (Post) session.get(Post.class, id);
}
@Override
public Post save(Post post) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
session.saveOrUpdate(post);
session.getTransaction().commit();
return post;
}
}
转载于:https://blog.51cto.com/java0note/109980