我试图从我在Postgres中创建的数据库中反向工程pojos(在eclipse 3.4.2中使用hibernate工具插件v3.2.4x),但是我的表被忽略了。如果我在hibernate.cfg.xml文件中将“ public”指定为“ hibernate.default_schema”属性的值,则该方法有效,但是如果我尝试指定其他模式,则不会生成任何内容。
我曾尝试修改大小写(例如,较低,较高,骆驼),但仍得到相同的结果。这是我的hibernate.cfg.xml文件:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory name="MyFactory"> <property name="hibernate.connection.driver_class">org.postgresql.Driver</property> <property name="hibernate.connection.password">[mypassword]</property> <property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/testgis</property> <property name="hibernate.connection.username">postgres</property> <property name="hibernate.default_schema">locatimus</property> <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property> </session-factory> </hibernate-configuration>
这是我在pgAdmin III中设置的图片-http: //twitpic.com/snj8i
我很确定自己正在做(或缺少)一些简单的事情。就像我说的那样,如果我将模式更改为public,那么将生成该模式中所有表的pojos!
有人可以帮忙吗?
非常感谢,达米安
好的,我发现了问题。看来表名必须是小写,否则hibernate工具看不到它们。我不知道这是PostgresSQL方言还是Hibernate本身的错误。