Ik zit nu al een halve dag op een hibernate exception te zoeken, maar ik kan de oplossing maar niet vinden. De exception is devolgende:
Deze foutmelding zegt natuurlijk genoeg om de oplossing te vinden. Het probleem is dat volgens mij mijn query correct zou moeten zijn. De mapping files worden natuurlikj ook correct ingelezen.
Een snookerclub bevat meerdere members. Een member kan slechts lid zijn van 1 snookerclub
Hieronder de query die ik wil uitvoeren
en deze wordt omgezet naar het volgende stukje SQL:
code:
1
2
3
| Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near the keyword 'as'. at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(Unknown Source) |
Deze foutmelding zegt natuurlijk genoeg om de oplossing te vinden. Het probleem is dat volgens mij mijn query correct zou moeten zijn. De mapping files worden natuurlikj ook correct ingelezen.
Een snookerclub bevat meerdere members. Een member kan slechts lid zijn van 1 snookerclub
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| <hibernate-mapping> <class name="domain.Snookerclub" table="SNOOKERCLUBS"> <id name="id" column="SNOOKERCLUB_ID"> <generator class="native" /> </id> <property name="name" column="NAME" type="java.lang.String" /> <property name="address" column="ADDRESS" type="java.lang.String" /> <set name="members" inverse="true"> <key column="SNOOKERCLUB_ID" /> <one-to-many class="domain.Player" /> </set> </class> </hibernate-mapping> <hibernate-mapping> <class name="domain.Player" table="PLAYERS"> <id name="id" column="PLAYER_ID"> <generator class="native"></generator> </id> <property name="name" column="NAME" type="java.lang.String" length="25" /> <many-to-one name="snookerclub" column="SNOOKERCLUB_ID" not-null="true" /> </class> </hibernate-mapping> |
Hieronder de query die ik wil uitvoeren
code:
1
2
| SELECT NEW Snookerclub(sc.id, sc.name, sc.address, sc.members) FROM Snookerclub sc |
en deze wordt omgezet naar het volgende stukje SQL:
Zoals je kan zijn in het vet, wordt de collection (sc.members) niet omgezet naar SQL, maar wordt er gewono een "." gezet. Vandaar dus de exception. Maar ik weet totaal niet wat de oorzaak is van de verkeerd gegenereerde SQL query?select snookerclu0_.SNOOKERCLUB_ID as col_0_0_, snookerclu0_.NAME as col_1_0_, snookerclu0_.ADDRESS as col_2_0_, . as col_3_0_
from SNOOKERCLUBS snookerclu0_
inner join PLAYERS members1_ on nookerclu0_.SNOOKERCLUB_ID=members1_.SNOOKERCLUB_ID
I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. Where the fear has gone there will be nothing. Only I will remain.