当前位置: 首页 > 知识库问答 >
问题:

我的第一个hibernate程序出现错误,请帮助我解决错误

益炜
2023-03-14

错误:

log4j:WARN找不到记录器(org.hibernate.cfg.annotations.Version)的appender。log4j:警告请正确初始化log4j系统。线程“main”组织中出现异常。冬眠例外GenericJDBCException:无法在组织上打开连接。冬眠例外SQLStateConverter。在org上处理非特定异常(sqlstatecoverter.java:103)。冬眠例外SQLStateConverter。org上的convert(sqlstatecoverter.java:91)。冬眠例外JDBCExceptionHelper。在org上转换(jdbceptionhelper.java:43)。冬眠例外JDBCExceptionHelper。在org上转换(jdbceptionhelper.java:29)。冬眠jdbc。连接管理器。org上的openConnection(ConnectionManager.java:420)。冬眠jdbc。连接管理器。getConnection(ConnectionManager.java:144)位于org。冬眠jdbc。JDBCContext。org上的连接(JDBCContext.java:119)。冬眠交易JDBCTransaction。从org开始(JDBCTransaction.java:57)。冬眠impl。SessionImpl。org上的beginTransaction(SessionImpl.java:1326)。库希克。冬眠冬眠测试。main(HibernateTest.java:20)由:org引起。postgresql。util。PSQLException:致命:组织中不存在数据库“5432/hibernatedb”。postgresql。果心v3。连接工厂impl。在org上阅读StartupMessages(ConnectionFactoryImpl.java:691)。postgresql。果心v3。连接工厂impl。org上的openConnectionImpl(ConnectionFactoryImpl.java:207)。postgresql。果心连接工厂。org上的openConnection(ConnectionFactory.java:65)。postgresql。jdbc。连接。(PgConnection.java:159)在org上。postgresql。驾驶员在org上创建连接(Driver.java:415)。postgresql。驾驶员在java上连接(Driver.java:283)。sql。司机经理。java上的getConnection(未知源代码)。sql。司机经理。组织上的getConnection(未知源)。冬眠联系DriverManager连接提供程序。getConnection(driverManager ConnectionProvider.java:110)位于org。冬眠jdbc。连接管理器。openConnection(ConnectionManager.java:417)。。。还有5个

代码

hibernate.cfg.xml

<?xml version='1.0' encoding='utf-8'?>

<!DOCTYPE hibernate-configuration SYSTEM "hibernate-configuration-3.0.dtd"> 

  <hibernate-configuration>

  <session-factory>
    <!-- Database connection settings -->
    <property name="connection.driver_class">org.postgresql.Driver</property>
    <property name="connection.url">jdbc:postgresql://localhost/5432/hibernatedb</property>
    <property name="connection.username">postgres</property>
    <property name="connection.password">password</property>

    <!-- JDBC connection pool (use the built-in) -->
    <property name="connection.pool_size">1</property>

    <!-- SQL dialect -->
    <property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property>

    <!-- Enable Hibernate's automatic session context management -->
    <property name="current_session_context_class">thread</property>

    <!-- Disable the second-level cache  
    <property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property> -->

    <!-- Echo all executed SQL to stdout -->
    <property name="show_sql">true</property>

    <!-- Drop and re-create the database schema on startup -->
    <property name="hbm2ddl.auto">create</property>
    <mapping class="org.javabrains.koushik.dto.UserDetails" />
    <!--    <mapping resource="org/hibernate/tutorial/domain/Event.hbm.xml"/> -->
  </session-factory>
</hibernate-configuration>

UserDetails.java

package org.javabrains.koushik.dto;

import javax.persistence.Entity;
import javax.persistence.Id;

@Entity
public class UserDetails {

@Id 
private int userID;
private String userName;

public int getUserID() {
    return userID;
}
public void setUserID(int userID) {
    this.userID = userID;
}
public String getUserName() {
    return userName;
}
public void setUserName(String userName) {
    this.userName = userName;
}





}

冬眠测试。JAVA

package org.koushik.hibernate;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;

import org.javabrains.koushik.dto.UserDetails;

public class HibernateTest {

    public static void main(String[] args) {


        UserDetails user = new UserDetails();
        user.setUserID(1);
        user.setUserName("First user");

        SessionFactory sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
        Session session =sessionFactory.openSession();
        session.beginTransaction();
        session.save(user);
        session.getTransaction().commit();

    }


}

共有2个答案

曾山
2023-03-14

检查你的连接URL路径应该是这样的:

<property name="connection.url">jdbc:postgresql://localhost:5432/hibernatedb</property>

如果这不起作用,那么请注意,在PostgreSQL的情况下,如果端口5432可用,通常使用端口5432。如果不是,大多数安装人员将选择下一个自由端口,通常是5433。所以你可以这样进入酒店

<property name="connection.url">jdbc:postgresql://localhost:5433/hibernatedb</property>

如果你仍然无法理解,那么在stacktrace中阅读这一行,你可能会明白@RemyG想说什么:

org.postgresql.util.PSQLException: FATAL: database "5432/hibernatedb" does not exist at 
江德润
2023-03-14

看起来可能是连接URL中的错误。不是吗

postgresql://localhost:5432/hibernatedb代码

?

 类似资料:
  • 第1034行:Char 9:运行时错误:引用绑定到'std::vector'类型的空指针

  • 我用python编写了以下代码,该代码转到数组中的URL并查找有关该页面的特定信息 - 各种Web抓取器。这个接受一个Reddit线程数组,并输出每个线程的分数。该程序几乎从不完全执行。通常,在收到下面的错误消息之前,我会经历5次左右的迭代。有人可以帮我了解这一点吗? 我收到的错误消息是:

  • 任务是: 编写一个程序,为在XYZ书店购买任意两本书的会员提供20%的折扣。(提示:将常量变量用于20%的折扣。) 我已经做了编码,但是不能提示书名,然后显示折扣价,请在下面看到我的编码,根据需要修改。

  • 错误 第6:44行:在函数“app”中调用React Hook“useState”,该函数既不是React函数组件,也不是自定义React Hook函数React Hook/rules of Hook 搜索关键字以了解有关每个错误的更多信息。

  • 类型错误:无法在导出处读取未定义的属性“user_id”.js user_code。(/user_code/node_modules/火库函数/库/云函数.js:112:27) 在下一个 (本机) 在 /user_code/node_modules/火基函数/库/云函数.js:28:71 在 __awaiter (/user_code/node_modules/火基函数/库/云函数.js:24:1