Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

hibernate criteria order

0 views
Skip to first unread message

leszekr

unread,
Jan 2, 2007, 9:00:04 AM1/2/07
to
Mam zmapowana klase. I chcalbym pobrac sobie liste posortowana nastepujaco:

(property1-property2)/property2

Nie idzie przez criteria.addOrder((property1-property2)/property2), bo
pisze ze nie ma takiego property. Jak do tego podejsc?


pozdr

lr

ActiveY

unread,
Jan 2, 2007, 9:34:49 AM1/2/07
to

a moze tak stworzyc dodatkowe property za pomoca deskryptora hibernate,
ktorego wartosc bedzie rowna wynikowi operacji na property1 i 2 i dopiero
do niego sie odwolywac?

leszekr

unread,
Jan 2, 2007, 10:24:00 AM1/2/07
to ActiveY
Użytkownik ActiveY napisał:
Ok, a moze podpowiedz :)
Najlepiej w annotation :)


pozdr

lr

ActiveY

unread,
Jan 2, 2007, 12:17:54 PM1/2/07
to
>>
>> a moze tak stworzyc dodatkowe property za pomoca deskryptora hibernate,
>> ktorego wartosc bedzie rowna wynikowi operacji na property1 i 2 i dopiero
>> do niego sie odwolywac?
> Ok, a moze podpowiedz :)
> Najlepiej w annotation :)
>
>
> pozdr
>
> lr

Hmm,

http://www.hibernate.org/hib_docs/v3/reference/en/html/mapping.html#mapping-declaration-property

punkt 5: formula (optional): an SQL expression that defines the value for a computed property.
Computed properties do not have a column mapping of their own.

to jest jezeli chodzi o deklaracje XML-owa, a odpowiednik dla annotations:

http://www.hibernate.org/hib_docs/annotations/reference/en/html/entity.html#d0e2119

pozdr.
ActiveY

Brzezi

unread,
Jan 2, 2007, 12:24:44 PM1/2/07
to
wto, 02 sty 2007 o 16:24 GMT, leszekr napisał(a):

> Ok, a moze podpowiedz :)
> Najlepiej w annotation :)

Formula

Pozdrawiam
Brzezi
--
[ E-mail: brz...@enter.net.pl ][ Some of them want to use you, ]
[ Ekg: #3781111 ][ Some of them want to be used by you, ]
[ LinuxUser: #249916 ][ ...Everybody's looking for something. ]
[ -- Eurythmics ]

leszekr

unread,
Jan 3, 2007, 3:30:30 AM1/3/07
to Brzezi
Użytkownik Brzezi napisał:

> wto, 02 sty 2007 o 16:24 GMT, leszekr napisał(a):
>
>
>>Ok, a moze podpowiedz :)
>>Najlepiej w annotation :)
>
>
> Formula
>
> Pozdrawiam
> Brzezi
Ok, jak zwykle nie moge sobie poradzic. Kod mam nastepujacy:


private double change;

@Formula("( 'kurs' - 'kurs_open' ) / 'kurs_open'")
public double getChange() {
return change;
}

public void setChange( double change ) {
this.change = change;
}

i wyjatek:

2007-01-03 09:29:04,992 WARN SQL Error: 1054, SQLState: 42S22
2007-01-03 09:29:04,992 ERROR Unknown column 'this_.change' in 'field list'
2007-01-03 09:29:04,998 ERROR Servlet.service() for servlet cms threw
exception
org.hibernate.exception.SQLGrammarException: could not execute query
at
org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
at
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.loader.Loader.doList(Loader.java:2147)
at
org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2028)
at org.hibernate.loader.Loader.list(Loader.java:2023)
.............

Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown
column 'this_.change' in 'field list'
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2870)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1573)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1665)


co robie zle?

pozdr lr

Brzezi

unread,
Jan 3, 2007, 5:07:41 AM1/3/07
to
śro, 03 sty 2007 o 09:30 GMT, leszekr napisał(a):

> i wyjatek:
>
> 2007-01-03 09:29:04,992 WARN SQL Error: 1054, SQLState: 42S22
> 2007-01-03 09:29:04,992 ERROR Unknown column 'this_.change' in 'field list'
> 2007-01-03 09:29:04,998 ERROR Servlet.service() for servlet cms threw

Wlacz sobie wyswietlanie generowanych zapytan SQL i zobacz jak to tam
wyglada...

Pozdrawiam
Brzezi
--
[ E-mail: brz...@enter.net.pl ][ brzezi:~# uptime ]
[ Ekg: #3781111 ][ 11:08:00 up 23 days, 18:35, 3 users, ]
[ LinuxUser: #249916 ][ load average: 0.19, 0.14, 0.10 ]

leszekr

unread,
Jan 3, 2007, 5:35:51 AM1/3/07
to Brzezi
Użytkownik Brzezi napisał:

> śro, 03 sty 2007 o 09:30 GMT, leszekr napisał(a):
>
>
>>i wyjatek:
>>
>>2007-01-03 09:29:04,992 WARN SQL Error: 1054, SQLState: 42S22
>>2007-01-03 09:29:04,992 ERROR Unknown column 'this_.change' in 'field list'
>>2007-01-03 09:29:04,998 ERROR Servlet.service() for servlet cms threw
>
>
> Wlacz sobie wyswietlanie generowanych zapytan SQL i zobacz jak to tam
> wyglada...
>
> Pozdrawiam
> Brzezi


Ok, juz hula. Blad pierwszy polegal na tym, ze wszystkie anotacje mialem
na polach a formule na geterze (wychodzi ze nie mozna tego mieszac), a
drugi na tym ze wychodzilo dzialanie 0/0 (pomogla zmiana double na Double).


dozgonnie wdzieczny za pomoc

pozdrawiam

Leszekr

0 new messages