/******************************************在实体类中建立本地查询******************************************************/
@NamedNativeQueries
(
{
@NamedNativeQuery(
name="ReturnUseraddressById",
query="select id,uid,name,cellphone,province,city,region,address,telCode,zip from useraddress where uid=?1",
resultSetMapping="UseraddressEntity")
//可能还有更多的本地查询设置
}
)
/**********************************建立返回结果集的mapping,可设置多个实体和标量混用******************************************************/
@SqlResultSetMapping
(
name="UseraddressEntity",
entities=
{
@EntityResult
(
entityClass=com.william.eShop.jpaModel.Useraddress.class,
fields=
{
@FieldResult(name="id",column="id"),
@FieldResult(name="uid",column="uid"),
@FieldResult(name="name",column="name"),
@FieldResult(name="cellphone",column="cellphone"),
@FieldResult(name="province",column="province"),
@FieldResult(name="city",column="city"),
@FieldResult(name="region",column="region"),
@FieldResult(name="address",column="address"),
@FieldResult(name="telCode",column="telCode"),
@FieldResult(name="zip",column="zip")
}
),
// @EntityResult
// (
// entityClass=entity.Customer.class,
// discriminatorColumn="customer_type",
// fields=
// {
// @FieldResult(name="id",column="customer_id"),
// @FieldResult(name="name",column="customer_name")
// }
// )
},
columns={}
)
/**************************************************在逻辑类中用EntityManager进行查询******************************************************/
EntityManager em = EntityManagerHelper.getEntityManager();
//这里只是传递进去一个string值
Query q = em.createNamedQuery("ReturnUseraddressById");
//这里是设定在sql中所需的参数
q.setParameter(1, 1);
//得到结果集
java.util.List orderList = q.getResultList();
System.out.println(orderList.size());