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

我不知道为什么我非常简单的JPA项目不起作用

司徒寒
2023-03-14

我有组织。postgresql。util。PSQLException:错误:关系“roles”不存在,我不知道为什么。

实体类

package com.example.SpringBootTest1.model;

import lombok.*;
import javax.persistence.*;

@ToString
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Table(name = "roles")
public class Role
{
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Setter
    @Getter
    private int id;
    
    @Setter
    @Getter
    @Column(name = "name")
    private String name;
}

main()

public static void main(String[] args)
{
        
    EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("role_pu");
    EntityManager entityManager = entityManagerFactory.createEntityManager();
    EntityTransaction entityTransaction = entityManager.getTransaction();

    entityTransaction.begin();
        
    Role role1 = new Role();
    role1.setName("role111");
    entityManager.persist(role1);
    entityManager.getTransaction().commit();
    entityManagerFactory.close();
    entityManager.close();
}

资源/META-INF/持久性。xml

<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
    <persistence-unit name="role_pu" transaction-type="RESOURCE_LOCAL">

        <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>

        <class>com.example.SpringBootTest1.model.Role</class>

        <properties>
            <property name="javax.persistence.jdbc.url" value="jdbc:postgresql://localhost:5432/postgres"/>
            <property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver"/>
            <property name="javax.persistence.jdbc.user" value="postgres"/>
            <property name="javax.persistence.jdbc.password" value="123"/>

            <property name="dialect" value="org.hibernate.dialect.PostgreSQL94Dialect"/>
            <property name="show_sql" value="true"/>
            <property name="hibernate.format_sql" value="true"/>
            <property name="hdm2ddl.auto" value="create"/>
        </properties>

    </persistence-unit>
</persistence>

pom.xml我有
hibernate-core
postgresql
lombok
那么为什么我有这样的错误,为什么会这样?我读过这个问题,它对我没有帮助。

共有1个答案

水焱
2023-03-14

在现代Hibernate版本中,属性hdm2ddl.auto应该是hibernate.hbm2ddl.autojavax.persistence.schema-generation.database.action

https://docs.jboss.org/hibernate/stable/orm/userguide/html_single/Hibernate_User_Guide.html#configurations-hbmddl

 类似资料:
  • 我是Spring的新人。我学习,但在学习过程中我出错了。我为Spring使用基于XML的配置,这里是编译错误: 线程“main”org . spring framework . beans . factory . beancreationexception中出现异常:创建在类路径资源[Beans.xml]中定义的名为“helloGeorgia”的bean时出错:设置属性值时出错;嵌套异常为org

  • > 控制器 } 服务 -板 > 原因:java。lang.IllegalArgumentException:给定的id不能为null!位于组织。springframework。util。明确肯定组织中的notNull(Assert.java:201)。springframework。数据jpa。存储库。支持简单Parepository。java上的deleteById(SimpleJpaRepos

  • Stage.close()对我不起作用。 我查看了:JavaFX2.0:关闭一个舞台(窗口) 这是我的代码: 下面是调用消息框类的代码:

  • 我正在尝试检测我的两个精灵何时发生碰撞。我做的第一件事是在我的播放器周围创建一个矩形(称为player.img),然后在我想检测的树周围创建另一个矩形(称为背景.treesrect)。我将玩家矩形的坐标设置为等于当用户按下键移动时更新的坐标,但玩家矩形不移动。然后我使用精灵.碰撞(精灵)函数来检测它们是否碰撞并且没有检测到。有人可以向我展示为什么我的播放器矩形没有更新以及其他任何可能错误的内容吗?

  • 问题内容: 我在这里有点困惑。如果我将变量传递给json_decode,它将不起作用: 第一个回显正确显示了我传递的JSON字符串,例如 第二个回显显示NULL。因此,我从第一个回显中获取了字符串,并编写了以下代码: 你怎么说,它向我展示了正确解码的数组。字符串绝对相同,我什至保留转义字符。也许是问题所在? 问题答案: 看起来您的服务器已启用。无论是将其禁用或运行通过使用它之前。

  • 还不起作用。所以我放弃链接,我只是编码: