1
我有這樣的mappedsuperclass:Mappedsuperclass和namedqueries
@MappedSuperclass
@DiscriminatorColumn(name = "USER_TYPE")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@NamedQueries({
@NamedQuery(name = "selectAllUsers", query = "SELECT u FROM User u"),
@NamedQuery(name = "deleteUserByName", query = "DELETE FROM User u WHERE u.userName like :name"),
@NamedQuery(name = "getUserByName", query = "SELECT FROM User u WHERE u.userName like :name") })
public abstract class User implements Serializable {....
我得到「的抽象模式類型 '用戶' 未知」 的namedquery錯誤。我不明白爲什麼...用戶名是正確的?
任何建議將受到歡迎。
好的thx,我讓這個類變成了一個mappedsuperclass,因爲我只想讓這個擴展類保持。然後,我想要檢索它們作爲超類型,並查看使用命名查詢來查找哪些「類型」...... – 2013-02-08 14:01:22
@DarthBlueRay在這種情況下,兩個註釋之間的唯一區別是映射的超類不是可查詢的,而實體是。這對映射沒有任何影響。 JPA中沒有任何工具可以使類可查詢但不能持久化。 – kostja 2013-02-08 14:06:13
此外,映射的超類不能成爲關係的一部分。 – 2013-03-29 13:11:28