только изучаю эту связку, поэтому могу наговорить ляпов — заранее прошу отнестись с пониманием.
по англоязычной сети ходит слушок, что как ни вертись, динамически создать таблицу (то есть если нету) в базе на основе дескриптора hibernate-мэппинга (smth.hbm.xml) для PostgreSQL не получится.
я разбираюсь с
вот этим великолепным туториалом, но поскольку тут про все понемногу — я на предыдущей главе про JDBC, но уже с наличием hibernate-дескрипторов

. чаще всего занимаюсь конечно копи/пэйстом, но обнаруживаю за собой, что все-таки осознаю, что делаю — так что в идеале все должно работать

. и конечно там ни слова о Postgres.
проблема в том, что таблица при отустствии создается, но sequence пристроить никак не получается. простейщая фича типа
<id name="bookID" type="java.lang.Long">
<meta attribute="default-value">nextval('book_id_seq'::regclass)</meta>
<column name="id" />
<generator class="sequence" >
<param name="sequence">book_id_seq</param>
</generator>
</id>
не прокатывает — сам sequence в базе создается, но при попытке insert (поле, поле, поле) пишет, что пытаюсь впихнуть null в непозволительное для этого поле айдишника.
имеет ли вообще смысл с этим париться — может забить и просто создавать таблицу ручками (что, конечно, не красиво, но для моего проекта прокатит)?
на всякий случай, applicationContext:
<bean id="hibernateDataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>org.postgresql.Driver</value>
</property>
<property name="url">
<value>jdbc:postgresql://localhost:5432/***</value>
</property>
<property name="username">
<value>****</value>
</property>
<property name="password">
<value>****</value>
</property>
</bean>
<bean id="hibernateSessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop>
<prop key="hibernate.connection.pool_size">5</prop>
<prop key="hibernate.connection.autocommit">true</prop>
<prop key="hibernate.hbm2ddl.auto">create-drop</prop>
<prop key="hibernate.cglib.use_reflection_optimizer">false</prop>
</props>
</property>
<property name="dataSource">
<ref local="hibernateDataSource" />
</property>
<property name="mappingResources">
<list>
<value>***/springtest/hibernate/Book.hbm.xml</value>
.....
</list>
</property>
</bean>
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
<ref local="hibernateDataSource"/>
</property>
</bean>
<bean id="bookManager" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref local="transactionManager"/>
</property>
<property name="target">
<bean class="***.springtest.bl.BookManager">
<property name="dataSource">
<ref local="hibernateDataSource"/>
</property>
</bean>
</property>
<property name="transactionAttributes">
<props>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>