未找到映射(RESOURCE)
Mapping (RESOURCE) not found
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();
账户映射:
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: Mapping (RESOURCE) not
found : Mapping/AccountMap.hbm.xml :
origin(Mapping/AccountMap.hbm.xml)
我使用注释而不是 xml 文件。
使用addAnnotatedClass
代替addClass
:-
configuration.addAnnotatedClass(AccountMap.class);
正如 Configuration.addClass()
期望 hbm.xml
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();
账户映射:
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: Mapping (RESOURCE) not found : Mapping/AccountMap.hbm.xml : origin(Mapping/AccountMap.hbm.xml)
我使用注释而不是 xml 文件。
使用addAnnotatedClass
代替addClass
:-
configuration.addAnnotatedClass(AccountMap.class);
正如 Configuration.addClass()
期望 hbm.xml