Hibernate常用方法之get
常用于根据主键查找,若根据其他的字段查找不能使用此方法
示例代码:
public Admin findById(Integer id) throws Exception {
//获取Session
Session session = HibernateUtil.openSession();
//执行查询 按主键查询 按其他条件查询不能用此方法
Admin admin = (Admin)session.get(Admin.class, id);
return admin;
}
此处的主键是在hbm.xml中配置指定的主键
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="entity.Admin" table="admin_info">
<!-- 主键映射 -->
<id name="admin_id" type="java.lang.Integer">
<column name="admin_id" />
<!-- 指定主键生成方式 MySQL的自增长-->
<generator class="identity" />
<!--
eg:使用序列的方式生成主键
<generator class="sequence">
<param name="sequence">COST_SEQ </param>
</generator>
-->
</id>
<!-- 非主键映射 -->
<property name="admin_code" type="java.lang.String">
<column name="admin_code" length="20" />
</property>
<property name="password" type="java.lang.String">
<column name="password" length="20" />
</property>
<property name="name" type="java.lang.String">
<column name="name" length="20" />
</property>
<property name="telephone" type="java.lang.String">
<column name="telephone" length="20" />
</property>
<property name="email" type="java.lang.String">
<column name="email" length="50" />
</property>
<property name="enrolldate" type="java.sql.Timestamp">
<column name="enrolldate" />
</property>
</class>
</hibernate-mapping>