select p... 语句中的 "p" 是什么意思?
What means "p" in select p... statement?
private void addPersonToEvent(Long personId, Long eventId) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
Person aPerson = (Person) session
.createQuery("select p from Person p left join fetch p.events where p.id = :pid")
.setParameter("pid", personId)
.uniqueResult(); // Eager fetch the collection so we can use it detached
Event anEvent = (Event) session.load(Event.class, eventId);
session.getTransaction().commit();
此代码来自休眠参考。我不明白 "select p" SQL 语句中的 p 是什么意思。 "p"是什么?
这只是您将用来查询特定实体的别名。这些别名在 JPQL/HQL 中使用。这将被视为实体,您可以使用(点)来引用实体中的字段。
这是 Hibernate 查询语言或 HQL,不应像您正在做的那样简单SQL。
P 是 return 实体的别名。
HQL查询的基本解释(非SQL):
select p -- the entity to retrieve
from Person p -- Person entity aliased p
left join fetch p.events -- left join with entity Events, check the entity mapping between Person and Event entities
where p.id = :pid -- p.id is the field id from Person entity, :pid is a named parameter called pid
更多信息,请参考Hibernate HQL documentation
private void addPersonToEvent(Long personId, Long eventId) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
Person aPerson = (Person) session
.createQuery("select p from Person p left join fetch p.events where p.id = :pid")
.setParameter("pid", personId)
.uniqueResult(); // Eager fetch the collection so we can use it detached
Event anEvent = (Event) session.load(Event.class, eventId);
session.getTransaction().commit();
此代码来自休眠参考。我不明白 "select p" SQL 语句中的 p 是什么意思。 "p"是什么?
这只是您将用来查询特定实体的别名。这些别名在 JPQL/HQL 中使用。这将被视为实体,您可以使用(点)来引用实体中的字段。
这是 Hibernate 查询语言或 HQL,不应像您正在做的那样简单SQL。
P 是 return 实体的别名。
HQL查询的基本解释(非SQL):
select p -- the entity to retrieve
from Person p -- Person entity aliased p
left join fetch p.events -- left join with entity Events, check the entity mapping between Person and Event entities
where p.id = :pid -- p.id is the field id from Person entity, :pid is a named parameter called pid
更多信息,请参考Hibernate HQL documentation