1

休眠5,MySQL服务器

AccountMap account = new AccountMap();

Configuration configuration = new Configuration();

        configuration.addClass(AccountMap.class);
        configuration.setProperty("hibernate.connection.driver_class", "com.mysql.jdbc.Driver");
        configuration.setProperty("hibernate.connection.url", "jdbc:mysql://localhost:3306/test");
        configuration.setProperty("hibernate.connection.username", "root");
        configuration.setProperty("hibernate.connection.password", "");
        configuration.setProperty("hibernate.show_sql", "com.mysql.jdbc.Driver");
        configuration.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQLDialect");

        StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder().
        applySettings(configuration.getProperties());
        SessionFactory factory = configuration.buildSessionFactory(builder.build());
        Session session = factory.openSession();

        session.save(account);

        session.getTransaction().commit();
        session.close();
        factory.close();

账户地图:

package Mapping;

import java.sql.Date;

import javax.persistence.*;

@Entity
@Table(name="accounts")
public class AccountMap {

    @Id
    @Column(name="id")
    private int id;

    @Column(name="email")
    private String email;

    @Column(name="alias")
    private String alias;

    @Column(name="password")
    private String password;

    @Column(name="created_at")
    @org.hibernate.annotations.Type( type="DateType" )
    private Date createdAt;

    @Column(name="updated_at")
    @org.hibernate.annotations.Type( type="DateType" )
    private Date updatedAt;

    @Column(name="currency")
    private int currency;

    @Column(name="alternative_currency")
    private int alternativeCurrency;

    @Column(name="level")
    private int level;

    @Column(name="exp")
    private int exp;

    @Column(name="activation_key")
    private String activationKey;

    @Column(name="recovery_key")
    private String recoveryKey;

    @Column(name="recovery_time")
    private Date recoveryTime;
}

错误:

org.hibernate.boot.MappingNotFoundException:找不到映射(资源):映射/AccountMap.hbm.xml:起源(映射/AccountMap.hbm.xml)

我使用注释而不是 xml 文件。

4

1 回答 1

1

使用addAnnotatedClass而不是addClass:-

configuration.addAnnotatedClass(AccountMap.class);

正如所Configuration.addClass()hbm.xml

于 2015-10-08T06:15:05.243 回答