Thursday, May 22, 2008

hibernate: generating a new table from model obj.

pom.xml:






Create a Java model object containing the needed properties and Java 1.5 annotations:


@Entity
@Table(name = "mail_history")
public class MailHistory implements Serializable
{
@Column(updatable = false, name = "date_sent", nullable = false)
private Date dateSent;

@Column(name = "entity_id", nullable = false)
private int entityId;

@Column(name = "entity_name", nullable = false, length=20)
private String entityName;

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(updatable = false, name = "id", nullable = false)
private Long id;

@Column(name = "mail_type", nullable = false)
private int mailType;

@ManyToOne
@JoinColumn(name = "user_id", nullable = false)
private User user;

//generate getter and setter methods


Add the model object to applicationContext.xml and hibernate.cfg.xml configuration file

Run maven:

mvn -e clean compile hibernate3:hbm2ddl -Dtarget=Zainab