有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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配置中有一个类列表


共 (2) 个答案

  1. # 1 楼答案

    如果要手动连接Hibernate并调用Configuration#addAnnotatedClass(Class<?>),也可以使用Hibernate Configuration

  2. # 2 楼答案

    如果将Spring用于会话工厂,则可以指定“packagesToScan”属性

    <property name="packagesToScan" value="com.xyz.model" />