Subject Hibernate 3.0 B4, Firebird 1.5.2, Jaybird for JDK 1.4
Author jeffrobertsky@yahoo.com
Can someone help me over this hurdle? Someone on the firebird-devel
list suggested that I:

"include standard UDF declaration into your database build script
(the
ib_udf.sql script is located in the $FIREBIRD_HOME/UDF directory).
Additionally you may want to use the "useStandardUdf" property (the
value is not important) to enable support of the standard UDF
functions
in escaped syntax."

I'm afraid I don't understand what to do from that explanation.
Here's
the original problem:

I downloaded what I think to be the latest Hibernate, Firebird and
Jaybird.

I created a database, test.fdb with username=sysdba,
password=masterkey

I copied the jaybird firebirdsql-full.jar to hibernate-3.0/lib.

I set the following in hibernate-3.0/etc/hibernate.properties:

hibernate.dialect org.hibernate.dialect.FirebirdDialect
hibernate.connection.driver_class org.firebirdsql.jdbc.FBDriver
hibernate.connection.username sysdba
hibernate.connection.password masterkey
hibernate.connection.url jdbc:firebirdsql:localhost/3050:c:\\Program
Files\\Firebird\\Firebird_1_5\\test.fdb

I also set this, per the "Firebird Known Issues" on the Hibernate
site.

hibernate.statement_cache.size 0

When I try to run 'ant eg', I get the following, which ends in an
exception:

D:\hibernate-3.0>ant eg
Buildfile: build.xml
[taskdef] Could not load definitions from resource
checkstyletask.properties.
It could not be found.
[taskdef] Could not load definitions from resource clovertasks. It
could not b
e found.

eg:
[echo] remember to place your JDBC driver in the lib directory
[java] 16:50:50,060 INFO Environment:451 - Hibernate 3.0 beta 4
[java] 16:50:50,070 INFO Environment:469 - loaded properties
from
resource
hibernate.properties: {hibernate.order_updates=true,
hibernate.default_batch_fe
tch_size=8,
hibernate.connection.driver_class=org.firebirdsql.jdbc.FBDriver, hib
ernate.cglib.use_reflection_optimizer=true,
hibernate.cache.provider_class=org.h
ibernate.cache.HashtableCacheProvider, hibernate.max_fetch_depth=1,
hibernate.di
alect=org.hibernate.dialect.FirebirdDialect,
hibernate.jdbc.use_streams_for_bina
ry=true, hibernate.query.substitutions=true 1, false 0, yes 'Y', no
'N', hiberna
te.proxool.pool_alias=pool1, hibernate.connection.username=sysdba,
hibernate.cac
he.region_prefix=hibernate.test,
hibernate.connection.url=jdbc:firebirdsql:local
host/3050:c:\Program Files\Firebird\Firebird_1_5\test.fdb,
hibernate.connection.
password=masterkey, hibernate.jdbc.batch_versioned_data=true,
hibernate.connecti
on.pool_size=1, hibernate.statement_cache.size=0}
[java] 16:50:50,070 INFO Environment:496 - using java.io
streams
to persis
t binary types
[java] 16:50:50,070 INFO Environment:497 - using CGLIB
reflection
optimize
r
[java] 16:50:50,070 INFO Environment:527 - using JDK 1.4
java.sql.Timestam
p handling
[java] 16:50:50,090 INFO Configuration:456 - Mapping resource:
org/hiberna
te/auction/AuctionItem.hbm.xml
[java] 16:50:50,481 INFO HbmBinder:439 - Mapping class:
org.hibernate.auct
ion.AuctionItem -> AuctionItem
[java] 16:50:50,571 INFO Configuration:456 - Mapping resource:
org/hiberna
te/auction/Bid.hbm.xml
[java] 16:50:50,631 INFO HbmBinder:439 - Mapping class:
org.hibernate.auct
ion.Bid -> Bid
[java] 16:50:50,691 INFO HbmBinder:350 - Mapping subclass:
org.hibernate.a
uction.BuyNow -> Bid
[java] 16:50:50,691 INFO Configuration:456 - Mapping resource:
org/hiberna
te/auction/User.hbm.xml
[java] 16:50:50,721 INFO HbmBinder:439 - Mapping class:
org.hibernate.auct
ion.User -> AuctionUser
[java] 16:50:50,731 INFO Configuration:832 - processing extends
queue
[java] 16:50:50,731 INFO Configuration:836 - processing
collection mapping
s
[java] 16:50:50,731 INFO HbmBinder:1731 - Mapping collection:
org.hibernat
e.auction.AuctionItem.bids -> Bid
[java] 16:50:50,731 INFO HbmBinder:1731 - Mapping collection:
org.hibernat
e.auction.User.bids -> Bid
[java] 16:50:50,731 INFO HbmBinder:1731 - Mapping collection:
org.hibernat
e.auction.User.auctions -> AuctionItem
[java] 16:50:50,731 INFO Configuration:845 - processing
association proper
ty references
[java] 16:50:50,731 INFO Configuration:872 - processing foreign
key constr
aints
[java] 16:50:50,892 INFO Dialect:86 - Using dialect:
org.hibernate.dialect
.FirebirdDialect
[java] 16:50:50,892 INFO SettingsFactory:86 - Maximum outer
join
fetch dep
th: 1
[java] 16:50:50,902 INFO SettingsFactory:89 - Default batch
fetch
size: 8
[java] 16:50:50,902 INFO SettingsFactory:93 - Generate SQL with
comments:
disabled
[java] 16:50:50,902 INFO SettingsFactory:97 - Order SQL updates
by primary
key: enabled
[java] 16:50:50,902 INFO SettingsFactory:267 - Query
translator:
org.hiber
nate.hql.classic.ClassicQueryTranslatorFactory
[java] 16:50:50,902 INFO SettingsFactory:105 - Query language
substitution
s: {no='N', true=1, yes='Y', false=0}
[java] 16:50:50,912 INFO DriverManagerConnectionProvider:41 -
Using Hibern
ate built-in connection pool (not for production use!)
[java] 16:50:50,912 INFO DriverManagerConnectionProvider:42 -
Hibernate co
nnection pool size: 1
[java] 16:50:50,912 INFO DriverManagerConnectionProvider:45 -
autocommit m
ode: false
[java] 16:50:50,922 INFO DriverManagerConnectionProvider:80 -
using driver
: org.firebirdsql.jdbc.FBDriver at URL:
jdbc:firebirdsql:localhost/3050:c:\Progr
am Files\Firebird\Firebird_1_5\test.fdb
[java] 16:50:50,922 INFO DriverManagerConnectionProvider:86 -
connection p
roperties: {user=sysdba, password=****}
[java] 16:50:51,072 INFO SettingsFactory:154 - Scrollable
result
sets: ena
bled
[java] 16:50:51,072 INFO SettingsFactory:162 - JDBC3
getGeneratedKeys(): d
isabled
[java] 16:50:51,072 INFO TransactionFactoryFactory:31 - Using
default tran
saction strategy (direct JDBC transactions)
[java] 16:50:51,082 INFO TransactionManagerLookupFactory:33 -
No
Transacti
onManagerLookup configured (in JTA environment, use of read-write or
transaction
al second-level cache is not recommended)
[java] 16:50:51,082 INFO SettingsFactory:174 - Automatic flush
during befo
reCompletion(): disabled
[java] 16:50:51,082 INFO SettingsFactory:177 - Automatic
session
close at
end of transaction: disabled
[java] 16:50:51,082 INFO SettingsFactory:254 - Cache provider:
org.hiberna
te.cache.HashtableCacheProvider
[java] 16:50:51,092 INFO SettingsFactory:185 - Second-level
cache: enabled

[java] 16:50:51,092 INFO SettingsFactory:190 - Optimize cache
for
minimal
puts: disabled
[java] 16:50:51,092 INFO SettingsFactory:194 - Cache region
prefix: hibern
ate.test
[java] 16:50:51,092 INFO SettingsFactory:197 - Structured
second-level cac
he entries: enabled
[java] 16:50:51,092 INFO SettingsFactory:201 - Query cache:
disabled
[java] 16:50:51,092 INFO SettingsFactory:212 - Statistics:
disabled
[java] 16:50:51,092 INFO SettingsFactory:216 - Deleted entity
synthetic id
entifier rollback: disabled
[java] 16:50:51,182 INFO SessionFactoryImpl:142 - building
session factory

[java] 16:50:51,572 INFO SessionFactoryObjectFactory:82 - Not
binding fact
ory to JNDI, no JNDI name configured
[java] 16:50:51,572 INFO Dialect:86 - Using dialect:
org.hibernate.dialect
.FirebirdDialect
[java] 16:50:51,582 INFO Configuration:832 - processing extends
queue
[java] 16:50:51,582 INFO Configuration:836 - processing
collection mapping
s
[java] 16:50:51,582 INFO Configuration:845 - processing
association proper
ty references
[java] 16:50:51,582 INFO Configuration:872 - processing foreign
key constr
aints
[java] 16:50:51,582 INFO Configuration:832 - processing extends
queue
[java] 16:50:51,582 INFO Configuration:836 - processing
collection mapping
s
[java] 16:50:51,582 INFO Configuration:845 - processing
association proper
ty references
[java] 16:50:51,582 INFO Configuration:872 - processing foreign
key constr
aints
[java] 16:50:51,582 INFO SchemaExport:100 - Running hbm2ddl
schema export
[java] 16:50:51,582 INFO SchemaExport:121 - exporting generated
schema to
database
[java] 16:50:51,582 INFO DriverManagerConnectionProvider:41 -
Using Hibern
ate built-in connection pool (not for production use!)
[java] 16:50:51,582 INFO DriverManagerConnectionProvider:42 -
Hibernate co
nnection pool size: 1
[java] 16:50:51,593 INFO DriverManagerConnectionProvider:45 -
autocommit m
ode: false
[java] 16:50:51,593 INFO DriverManagerConnectionProvider:80 -
using driver
: org.firebirdsql.jdbc.FBDriver at URL:
jdbc:firebirdsql:localhost/3050:c:\Progr
am Files\Firebird\Firebird_1_5\test.fdb
[java] 16:50:51,593 INFO DriverManagerConnectionProvider:86 -
connection p
roperties: {user=sysdba, password=****}
[java] 16:50:51,603 DEBUG SchemaExport:136 - alter table
AuctionItem drop c
onstraint FK522A9BD61107FE9B
[java] 16:50:51,753 DEBUG SchemaExport:142 - Unsuccessful: alter
table Auct
ionItem drop constraint FK522A9BD61107FE9B
[java] 16:50:51,753 DEBUG SchemaExport:143 - GDS Exception.
335544351. unsu
ccessful metadata update
[java] CONSTRAINT FK522A9BD61107FE9B does not exist.
[java] 16:50:51,753 DEBUG SchemaExport:136 - alter table
AuctionItem drop c
onstraint FK522A9BD6F65B1FAF
[java] 16:50:51,753 DEBUG SchemaExport:142 - Unsuccessful: alter
table Auct
ionItem drop constraint FK522A9BD6F65B1FAF
[java] 16:50:51,753 DEBUG SchemaExport:143 - GDS Exception.
335544351. unsu
ccessful metadata update
[java] CONSTRAINT FK522A9BD6F65B1FAF does not exist.
[java] 16:50:51,753 DEBUG SchemaExport:136 - alter table Bid
drop
constrain
t FK104DDEE6E7E98
[java] 16:50:51,753 DEBUG SchemaExport:142 - Unsuccessful: alter
table Bid
drop constraint FK104DDEE6E7E98
[java] 16:50:51,753 DEBUG SchemaExport:143 - GDS Exception.
335544351. unsu
ccessful metadata update
[java] CONSTRAINT FK104DDEE6E7E98 does not exist.
[java] 16:50:51,753 DEBUG SchemaExport:136 - alter table Bid
drop
constrain
t FK104DDF43A3910
[java] 16:50:51,763 DEBUG SchemaExport:142 - Unsuccessful: alter
table Bid
drop constraint FK104DDF43A3910
[java] 16:50:51,763 DEBUG SchemaExport:143 - GDS Exception.
335544351. unsu
ccessful metadata update
[java] CONSTRAINT FK104DDF43A3910 does not exist.
[java] 16:50:51,763 DEBUG SchemaExport:136 - drop table
AuctionItem
[java] 16:50:51,793 DEBUG SchemaExport:136 - drop table
AuctionUser
[java] 16:50:51,813 DEBUG SchemaExport:136 - drop table Bid
[java] 16:50:51,823 DEBUG SchemaExport:136 - drop generator
hibernate_seque
nce
[java] 16:50:51,833 DEBUG SchemaExport:154 - create table
AuctionItem (
[java] id numeric(18,0) not null,
[java] description varchar(255),
[java] ends timestamp,
[java] condition integer,
[java] seller numeric(18,0) not null,
[java] successfulBid numeric(18,0),
[java] primary key (id)
[java] )
[java] 16:50:51,963 DEBUG SchemaExport:154 - create table
AuctionUser (id n
umeric(18,0) not null, userName varchar(255) not null, "password"
varchar(255),
email varchar(255), firstName varchar(255), "initial" char(1),
lastName
varchar(
255), primary key (id))
[java] 16:50:52,083 DEBUG SchemaExport:154 - create table Bid
(id
numeric(1
8,0) not null, isBuyNow char(1) not null, amount float not null,
"datetime" time
stamp not null, bidder numeric(18,0) not null, item numeric(18,0) not
null, prim
ary key (id))
[java] 16:50:52,153 DEBUG SchemaExport:154 - alter table
AuctionItem add co
nstraint FK522A9BD61107FE9B foreign key (seller) references
AuctionUser
[java] 16:50:52,193 ERROR SchemaExport:160 - Unsuccessful: alter
table Auct
ionItem add constraint FK522A9BD61107FE9B foreign key (seller)
references Auctio
nUser
[java] 16:50:52,193 ERROR SchemaExport:161 - Resource Exception.
unsuccessf
ul metadata update
[java] object AUCTIONUSER is in use
[java] Reason: unsuccessful metadata update
[java] object AUCTIONUSER is in use
[java] 16:50:52,193 DEBUG SchemaExport:154 - alter table
AuctionItem add co
nstraint FK522A9BD6F65B1FAF foreign key (successfulBid) references
Bid
[java] 16:50:52,213 ERROR SchemaExport:160 - Unsuccessful: alter
table Auct
ionItem add constraint FK522A9BD6F65B1FAF foreign key (successfulBid)
references
Bid
[java] 16:50:52,213 ERROR SchemaExport:161 - Resource Exception.
unsuccessf
ul metadata update
[java] object BID is in use
[java] Reason: unsuccessful metadata update
[java] object BID is in use
[java] 16:50:52,213 DEBUG SchemaExport:154 - alter table Bid add
constraint
FK104DDEE6E7E98 foreign key (item) references AuctionItem
[java] 16:50:52,233 ERROR SchemaExport:160 - Unsuccessful: alter
table Bid
add constraint FK104DDEE6E7E98 foreign key (item) references
AuctionItem
[java] 16:50:52,233 ERROR SchemaExport:161 - Resource Exception.
unsuccessf
ul metadata update
[java] object AUCTIONITEM is in use
[java] Reason: unsuccessful metadata update
[java] object AUCTIONITEM is in use
[java] 16:50:52,233 DEBUG SchemaExport:154 - alter table Bid add
constraint
FK104DDF43A3910 foreign key (bidder) references AuctionUser
[java] 16:50:52,243 ERROR SchemaExport:160 - Unsuccessful: alter
table Bid
add constraint FK104DDF43A3910 foreign key (bidder) references
AuctionUser
[java] 16:50:52,243 ERROR SchemaExport:161 - Resource Exception.
unsuccessf
ul metadata update
[java] object AUCTIONUSER is in use
[java] Reason: unsuccessful metadata update
[java] object AUCTIONUSER is in use
[java] 16:50:52,243 DEBUG SchemaExport:154 - create generator
hibernate_seq
uence
[java] 16:50:52,253 INFO SchemaExport:166 - schema export
complete
[java] 16:50:52,253 INFO DriverManagerConnectionProvider:147 -
cleaning up
connection pool: jdbc:firebirdsql:localhost/3050:c:\Program
Files\Firebird\Fire
bird_1_5\test.fdb
[java] 16:50:52,253 INFO SessionFactoryImpl:368 - Checking 0
named queries

[java] Setting up some test data
[java] Viewing all auction item objects
[java] Auction: 8 - auction item 2, ends: 2005-02-25
16:50:52.354,
bids: [1
E1 $0.0, 1E1 $1.0, izi $0.5, izi $1.0 (buy now), izi $1.5]
[java] Auction: 5 - auction item 1, ends: 2005-02-25
16:50:52.354,
bids: [1
E1 $0.0, izi $0.5]
[java] Auction: 4 - auction item 0, ends: 2005-02-25
16:50:52.354,
bids: []


[java] Viewing all auction item info
[java] Auction: 5 - auction item 1, ends: 2005-02-25
16:50:52.354,
highest
bid: 0.5
[java] Auction: 8 - auction item 2, ends: 2005-02-25
16:50:52.354,
highest
bid: 1.5
[java] Auction: 4 - auction item 0, ends: 2005-02-25
16:50:52.354,
highest
bid: null

[java] Creating a new bid for auction item: 8 by user: 3
[java] Viewing all auction item info
[java] Auction: 5 - auction item 1, ends: 2005-02-25
16:50:52.354,
highest
bid: 0.5
[java] Auction: 8 - auction item 2, ends: 2005-02-25
16:50:52.354,
highest
bid: 5.5
[java] Auction: 4 - auction item 0, ends: 2005-02-25
16:50:52.354,
highest
bid: null

[java] Viewing user and auctions: 1
[java] User: 1 - ol' dirty bastard, email:
oldirty@...,
auctions:
[auction item 0 (2/10), auction item 1 (5/10), auction item 2
(8/10)]
[java] Changing user details for: 1
[java] Changing auction item description for: 8
[java] Viewing user and auctions: 1
[java] User: 1 - ol' dirty bastard, email: oldirty@...,
auctions: [au
ction item 0 (2/10), auction item 1 (5/10), new description (8/10)]
[java] 16:50:52,604 WARN JDBCExceptionReporter:57 - SQL Error:
335544569,
SQLState: HY000
[java] 16:50:52,604 ERROR JDBCExceptionReporter:58 - GDS
Exception. 3355445
69. Dynamic SQL Error
[java] SQL error code = -804
[java] Function unknown
[java] LOWER
[java] 16:50:52,614 WARN JDBCExceptionReporter:57 - SQL Error:
335544569,
SQLState: HY000
[java] 16:50:52,614 ERROR JDBCExceptionReporter:58 - GDS
Exception. 3355445
69. Dynamic SQL Error
[java] SQL error code = -804
[java] Function unknown
[java] LOWER
[java] Exception in thread "main"
org.hibernate.exception.GenericJDBCExcept
ion: could not execute query
[java] at
org.hibernate.exception.SQLStateConverter.handledNonSpecificE
xception(SQLStateConverter.java:82)
[java] at
org.hibernate.exception.SQLStateConverter.convert(SQLStateCon
verter.java:70)
[java] at
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExcep
tionHelper.java:43)
[java] at org.hibernate.loader.Loader.doList
(Loader.java:1420)
[java] at org.hibernate.loader.Loader.list(Loader.java:1400)
[java] at
org.hibernate.loader.CriteriaLoader.list(CriteriaLoader.java:
110)
[java] at
org.hibernate.impl.SessionImpl.list(SessionImpl.java:1266)
[java] at
org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:294)
[java] at
org.hibernate.auction.Main.viewAuctionsByDescription(Main.jav
a:251)
[java] at org.hibernate.auction.Main.main(Main.java:379)
[java] Caused by: org.firebirdsql.jdbc.FBSQLException: GDS
Exception. 33554
4569. Dynamic SQL Error
[java] SQL error code = -804
[java] Function unknown
[java] LOWER
[java] at
org.firebirdsql.jdbc.AbstractPreparedStatement.<init>(Abstrac
tPreparedStatement.java:88)
[java] at
org.firebirdsql.jdbc.FBPreparedStatement.<init>(FBPreparedSta
tement.java:34)
[java] at
org.firebirdsql.jdbc.AbstractConnection.prepareStatement(Abst
ractConnection.java:701)
[java] at
org.firebirdsql.jdbc.AbstractConnection.prepareStatement(Abst
ractConnection.java:232)
[java] at
org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(Abstr
actBatcher.java:356)
[java] at
org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(Abstr
actBatcher.java:307)
[java] at
org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(Abst
ractBatcher.java:86)
[java] at
org.hibernate.loader.Loader.prepareQueryStatement(Loader.java
:1065)
[java] at org.hibernate.loader.Loader.doQuery
(Loader.java:356)
[java] at
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollec
tions(Loader.java:199)
[java] at org.hibernate.loader.Loader.doList
(Loader.java:1417)
[java] ... 6 more

BUILD FAILED
D:\hibernate-3.0\build.xml:621: Java returned: 1

Total time: 4 seconds
D:\hibernate-3.0>vs etc\hibernate.properties

D:\hibernate-3.0>

Any help appreciated.
Thanks,
-Jeff