我有一個只包含我的模型的註釋類的JAR。然後加載JAR的應用程序。休眠JPA查詢只適用於命名空間
在應用程序中我有persistence.xml中:
<jar-file> my jar </jar-file>
,並在屬性:
<property name="hibernate.archive.autodetection" value="class" />
工程。被檢測的單位和此查詢工作正常:
List<Event> events = em.createQuery(
"from com.my.namespace.model.Event", Event.class).getResultList();
但是我絕對需要在查詢的命名空間......如果我這樣做:
List<Event> events = em.createQuery("from Event", Event.class).getResultList();
然後我得到這個異常:
Event is not mapped [from Event]
什麼是更令人沮喪的是,我給JPA類,Event.class因爲我的電話的第二個參數。 Java代碼導入正確的包。
如何獲得JPAQL/HQL「進口」合適的包一看就知道實體,而無需顯式地鍵入命名空間?
更新:這裏是Event.java如果它幫助..它是微不足道,因爲它得到:
package com.my.namespace.model;
import javax.persistence.*;
@Entity(name="events")
@SequenceGenerator(name="events_id_seq", sequenceName="events_id_seq")
public class Event {
@Id @Column(name="id") @GeneratedValue(generator="events_id_seq")
private Long mId;
@Column(name="title")
private String mTitle;
public Long getId() {
return mId;
}
public String getTitle() {
return mTitle;
}
public void setTitle(String title) {
mTitle = title;
}
}
您可以發佈Event.java,你怎麼映射表和實體? – Subin