未找到映射(RESOURCE)

时间:2015-10-08 06:04:34

标签: java mysql hibernate hibernate-5.x

Hibernate 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();

AccountMap:

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:映射(RESOURCE)没有   发现:Mapping / AccountMap.hbm.xml:   原点(映射/ AccountMap.hbm.xml)

我使用anotations而不是xml文件。

1 个答案:

答案 0 :(得分:1)

使用context.testCase.testSuite.setPropertyValue("myProperty","myValues") 代替addAnnotatedClass: -

addClass

由于configuration.addAnnotatedClass(AccountMap.class); 需要Configuration.addClass()