반응형
HQL에서 SQL로의 번역을 이해할 수 없습니다.
왜 나의 단순함List<Shopping> products = session.createQuery("FROM Shopping").list();
에 다음 오류가 발생합니다.
java.sql.SQL 예외:'필드 목록'의 알 수 없는 열 'shopping0_.product'
다음은 지도 파일 Shopping.hbm.xml 입니다.
<?xml version = "1.0" encoding = "utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name = "com.konrad.market.Shopping" table = "BASKETS">
<meta attribute = "class-description">
This class contains the employee detail.
</meta>
<composite-id>
<key-property name="basketID" column="basketid" type="int" />
<key-property name="productID" column="product" type="string" />
</composite-id>
<property name="quantity" column="quantity" type="int" />
</class>
</hibernate-mapping>
표는 다음과 같습니다.
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| basketid | int(11) | NO | PRI | NULL | |
| product | varchar(30) | NO | PRI | NULL | |
| quantity | int(11) | NO | | NULL | |
+----------+-------------+------+-----+---------+-------+
basketid와 product 또한 외국키입니다.무슨 생각 있어요?
오류로 보아 해당 표에는 제품 col이 없습니다.productId라고 하는 건가요? 그리고 hbm 파일에 정의된 composite key를 db-on basketid와 product에 가지고 있나요?
basketid와 제품이 외국 키라면 hbm 매핑을 보지 못했기 때문에 Hbm 매핑을 변경해야 합니다.
언급URL : https://stackoverflow.com/questions/48815751/i-cant-understand-hql-to-sql-translation
반응형
'programing' 카테고리의 다른 글
자바스크립트로 현재 디렉터리 이름을 얻으려면 어떻게 해야 합니까? (0) | 2023.09.11 |
---|---|
JAXB: 목록에 있는 물체들을 어떻게 모아야 합니까? (0) | 2023.09.11 |
역할 구독자를 가진 사용자를 가져오기 위한 SQL 쿼리 (0) | 2023.09.11 |
명령 프롬프트에서 PowerShell 명령 실행(ps1 스크립트 없음) (0) | 2023.09.11 |
경로가 PowerShell의 폴더 또는 파일인지 확인 (0) | 2023.09.11 |