(property1-property2)/property2
Nie idzie przez criteria.addOrder((property1-property2)/property2), bo
pisze ze nie ma takiego property. Jak do tego podejsc?
pozdr
lr
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?
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
> 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 ]
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
> 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 ]
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