java - 休眠 java 中的错误 (StandardServiceRegistryBuilder.java:165)
问题描述
在线运行主要方法时出错StandardServiceRegistry ssr = new StandardServiceRegistryBuilder().configure("hibernate.cfg.xml").build();
package hibernate;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.boot.Metadata;
import org.hibernate.boot.MetadataSources;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
public class StoreData {
public static void main(String[] args) {
StandardServiceRegistry ssr = new StandardServiceRegistryBuilder().configure("hibernate.cfg.xml").build();
Metadata meta = new MetadataSources(ssr).getMetadataBuilder().build();
SessionFactory factory = meta.getSessionFactoryBuilder().build();
Session session = factory.openSession();
Transaction t = session.beginTransaction();
Employee e1 = new Employee();
e1.setId(1);
e1.setFirstName("Gaurav");
e1.setLastName("Chawla");
session.save(e1);
t.commit();
System.out.println("successfully saved");
factory.close();
session.close();
}
}
休眠.cfg.xml
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hbm2ddl.auto">update</property>
<property name="dialect">org.hibernate.dialect.Oracle10gDialect</property>
<property name="connection.url">jdbc:oracle:thin:@localhost:1521:xe</property>
<property name="connection.username">ceid</property>
<property name="connection.password">2361368</property>
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<mapping resource="employee.hbm.xml"/>
</session-factory>
</hibernate-configuration>
员工.hbm.xml
另一个在类和属性标记中的行表和列中编译之前
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="hibernate">
<class name="hibernate.Employee" table="EMPLOYEE">
<id name="id">
<generator class="assigned"></generator>
</id>
<property name="firstName" column="firstname" type="string"></property>
<property name="lastName" column="lastname" type="string"></property>
</class>
</hibernate-mapping>
雇员.java
package hibernate;
public class Employee {
private int id;
private String firstName, lastName;
public int getId() {
return id;
}
public String getFirstName() {
return firstName;
}
public String getLastName() {
return lastName;
}
public void setId(int id) {
this.id = id;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
我的数据库是 Oracle 11.2 XE,表是
CREATE TABLE "CEID"."EMPLOYEE"
( "ID" NUMBER(*,0),
"FIRSTNAME" VARCHAR2(20 BYTE),
"LASTNAME" VARCHAR2(20 BYTE)
)
这是来自https://www.javatpoint.com/example-to-create-hibernate-application-in-eclipse-ide的示例
此示例中的错误日志
Sep 11, 2021 6:02:40 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {5.3.1.Final}
Sep 11, 2021 6:02:40 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
Exception in thread "main" org.hibernate.internal.util.config.ConfigurationException: Could not locate cfg.xml resource [hibernate.cfg.xml]
at org.hibernate.boot.cfgxml.internal.ConfigLoader.loadConfigXmlResource(ConfigLoader.java:53)
at org.hibernate.boot.registry.StandardServiceRegistryBuilder.configure(StandardServiceRegistryBuilder.java:165)
at hibernate.StoreData.main(StoreData.java:14)
解决方案
推荐阅读
- javascript - 如何判断 url 在 JavaScript 中有 # 查询字符串
- python - 去除 NaN 的正确方法
- wordpress - 无法将 ww.example.com 重定向到 https://example.com 云端应用程序负载均衡器作为源
- keycloak - Keycloak权限如何控制某些记录的权限?
- flutter - 有没有办法在点击时创建这样的按钮,然后在它上面弹出另一个按钮?
- r - r data.table 合并多个 by.x 和 by.y 变量
- forth - Forth 中的 memcpy 等价物是什么?
- reactjs - React.createRef() 不适用于创建的第一个组件,但适用于后续组件
- c# - 如何解码引用的可打印电子邮件标题(使用 MimeKit)
- c# - 电子邮件确认中的令牌无效