java如何不必指定Hibernate映射
我有一个使用注释的工作休眠设置
@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 +
'}';
}
}
为了实现这一点,我必须在我的冬眠状态中有一个条目(以及其他条目)。cfg。xml文件
<mapping class="centaurus.hib.User"/>
否则hibernate会抛出错误,表示它没有映射文件
或者,当我创建持久sessionfactory时,我可以指定要映射的类
问题是,在我参与的其他项目中,我只需要添加一个类并正确地注释它,hibernate就可以使用它。这是我想做的,但不知道怎么做。除了带注释的类之外,我不想在我的hibernate配置中有一个类列表
# 1 楼答案
如果要手动连接Hibernate并调用
Configuration#addAnnotatedClass(Class<?>)
,也可以使用HibernateConfiguration
类# 2 楼答案
如果将Spring用于会话工厂,则可以指定“packagesToScan”属性