when i run my hibernate tools
it reads from the db and create java classes for each tables,
and a java class for composite primary keys.
that’s great.
the problem is this line
@Table(name="tst_feature"
,catalog="tstdb"
)
while the table name is required, the “catalog” attribute is not required.
sometimes i want to use “tstdb”, sometimes i want to use “tstdev”
i thought which db was chosen depends on the jdbc connection url
but when i change the jdbc url to point to “tstdev”, it is still using “tstdb”
so,
i know what must be done,
just don’t know how its is done
my options are
- suppress the generation of the “catalog” attribute
currently i’m doing this manually (not very productive)
or i could write a program that parses the java file and remove the attribute manually
but i’m hoping i don’t have to
OR
- find a way to tell hibernate to ignore the “catalog” attribute and use the schema that is explicitly specified.
i don’t know the exact setting i have to change to achive this, or even if the option is available.
You need to follow 3 steps –
1) In the
hibernate.cfg.xml, add this property(as specified in above post)
2) In the
hibernate.reveng.xml, add all the table filters like this(just this, no catalog name here)
3) Regenerate hibernate code
You will not see any catalog name in any of the
*.hbm.xmlfiles.I have used Eclipse Galileo and Hibernate-3.2.4.GA.