开发者

Creating a new Hibernate table

开发者 https://www.devze.com 2023-04-10 08:31 出处:网络
So I\'m still pretty new to Hibernate, and I\'m working on开发者_StackOverflow社区 a large-ish application that already has a database with several Hibernate tables.I\'m working on a new feature, whic

So I'm still pretty new to Hibernate, and I'm working on开发者_StackOverflow社区 a large-ish application that already has a database with several Hibernate tables. I'm working on a new feature, which includes a new @Entity class, and I need these objects to be stored in a new table. The class is declared like this:

@Entity
@Table(name="DATA_REQUEST")
public class DataRequest {

//Some fields, nothing fancy

}

The DATA_REQUEST table does not exist, nor do I have any data to store in it yet. I started the application up, expecting that it would either create the table or crash because it doesn't exist yet. Neither of these actually happened.

So: do I need to create the table manually (easily done)? Or do I need to go somewhere else to tell Hibernate that I need this table? I've seen the hibernate.cfg.xml file, which looks like a good place to start.


You need to specify "create" for the "hibernate.hbm2ddl.auto" property. Read more details here. This is not recommended in production but only for testing purposes.


As for adding a new column to the table

  • As long as it is not a not null column you don't need drop the table or restart your hibernate app

  • If you do want to use the column then you need to map the column in the code/hbm file, so you will have to restart the hibernate app

  • If there is no mapping present as far as hibernate is concerned the column does not exisist, If it is a not null column then underlying data base would reject inserts/updates as hibernate will not include the column in generated sql


from hibernate documentation

hibernate.hbm2ddl.auto

Automatically validates or exports schema DDL to the database when the SessionFactory is created. With create-drop, the database schema will be dropped when the SessionFactory is closed explicitly. e.g. validate | update | create | create-drop

hibernate Configuration

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号