當(dāng)我執(zhí)行下面的查詢時(shí),我得到了異常。如何在 JPQL 查詢中指定架構(gòu)。我的數(shù)據(jù)庫(kù)架構(gòu)是公開的。數(shù)據(jù)庫(kù)是PostgreSQL。這是我的查詢:SELECT p FROM profile p WHERE p.mobile_no = :mobileNo這是例外情況:java.lang.IllegalArgumentException: An exception occurred while creating a query in EntityManager: Exception Description: Problem compiling [SELECT p FROM profile p WHERE p.mobile_no = :mobileNo]. [14, 21] The abstract schema type 'profile' is unknown.[30, 41] The state field path 'p.mobile_no' cannot be resolved to a valid type. org.eclipse.persistence.internal.jpa.EntityManagerImpl.createQuery(EntityManagerImpl.java:1746) org.eclipse.persistence.internal.jpa.EntityManagerImpl.createQuery(EntityManagerImpl.java:1767) za.co.ezimax.database.ProfileDAO.get(ProfileDAO.java:15) za.co.ezimax.business.Business.register(Business.java:44) za.co.ezimax.rest.DatabaseTestServlet.doGet(DatabaseTestServlet.java:87) javax.servlet.http.HttpServlet.service(HttpServlet.java:634) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
1 回答

慕妹3242003
TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超6個(gè)贊
如何在 JPQL 查詢中指定架構(gòu)?
架構(gòu)配置不低于查詢本身。它是在數(shù)據(jù)源中配置的。
請(qǐng)記住,您實(shí)際上正在編寫JPQL(而不是SQL)。因此,您可以針對(duì)實(shí)體而不是表編寫查詢。話雖如此,您應(yīng)該使用實(shí)體名稱和實(shí)體字段,而不是表名稱和表列。
而不是profile
,您應(yīng)該使用Profile
(大寫P
):
SELECT?p?FROM?Profile?p?WHERE?p.mobile_no?=?:mobileNo
還要確保這mobile_no
是實(shí)體中字段的名稱Profile
(而不是數(shù)據(jù)庫(kù)表中列的名稱)。
添加回答
舉報(bào)
0/150
提交
取消