我有一个使用注释的工作休眠设置
@Entity
@Table(name="Users")
public class User implements Serializable{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="USER_ID")
private int id = 0;
@Column(name="EMAIL")
private String email = "";
@Temporal(TemporalType.TIMESTAMP)
@Column(name="CREATED")
private Date created = null;
public User(){
Calendar cal = Calendar.getInstance();
this.created = cal.getTime();
}
public User(int id, String email, Date created) {
this.id = id;
this.email = email;
this.created = created;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public void setId(int id) {
this.id = id;
}
public int getId() {
return id;
}
public Date getCreated() {
return created;
}
public void setCreated(Date created) {
this.created = created;
}
@Override
public String toString() {
return "centaurus.hib.User{" +
"id=" + id +
", email='" + email + '\'' +
", created=" + created +
'}';
}
}
要完成这项工作,我必须在我的hibernate.cfg.xml文件中有一个条目(等等)
<mapping class="centaurus.hib.User"/>
否则hibernate会抛出错误,说它没有映射文件。
或者,当我创建持久性sessionfactory时,我可以指定要映射的类。
问题是,在我工作过的其他项目中,我只需要添加一个类并正确注释它以便hibernate使用它。这是我想做但不知道如何做的。除了带注释的类之外,我不希望在我的hibernate配置中有一个类列表。
答案 0 :(得分:0)
如果您将Spring用作Session Factory,则可以指定'packagesToScan'属性。
<property name="packagesToScan" value="com.xyz.model" />
答案 1 :(得分:0)
如果您手动连接Hibernate并拨打Configuration
,也可以使用Hibernate Configuration#addAnnotatedClass(Class<?>)
类。