Reputation: 65
Hibernate 5, MySQL server
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;
}
Error:
org.hibernate.boot.MappingNotFoundException: Mapping (RESOURCE) not found : Mapping/AccountMap.hbm.xml : origin(Mapping/AccountMap.hbm.xml)
I use anotations instead of xml files.
Upvotes: 1
Views: 1407
Reputation: 2254
Use addAnnotatedClass
instead of addClass
:-
configuration.addAnnotatedClass(AccountMap.class);
As Configuration.addClass()
expects a hbm.xml
Upvotes: 1