hibernate 相关问题

Hibernate是Java语言的对象关系映射(ORM)库,使开发人员能够以远远超出对象/关系映射的方式在其应用程序中使用POJO样式的域模型。


如何只使用Hibernate注册实体和生成表? (使用注释,而不是 XML)

我正在使用 Hibernate 5.6.15 和 addAnnotatedClass(Class annotatedClass) 来注册实体。但是当我获得一个会话并尝试保存一个实体时,仍然没有创建表并且我得到“ORA-009 ...

回答 1 投票 0

Hibernate - 表或视图不存在错误

我正在尝试使用休眠将对象保存在数据库中。当我第一次使用新表名运行代码时,它会抛出以下错误,但是当我第二次运行它时,它运行得非常好-...

回答 2 投票 0

HIbernate JPA 查询助手加入 NullPointerException

我是使用 JPA/Hibernate 使用连接等创建查询的新手,我正在努力设置我的 Join 的两侧并最终出现空指针异常,或者如果我使用元模型对象...

回答 0 投票 0

我正在尝试将应用程序从 Spring Boot 3.0.6 升级到 3.1.0。这反过来意味着升级 从 Hibernate 6.1.7 到 6.2.2。以前,此查询有效: 公共接口 UserRoleRepository 扩展

回答 0 投票 0

只有在 hibernate 6.X 中标识列为空时,如何在 hibernate 中生成自动递增 id?

用例是在保存新实体时,IdentityColumn 有两个选项 如果 id 列为空,则生成 auto_increment id(与 @GeneratedValue(strategy = GenerationType.IDENTITY) 完美配合...

回答 0 投票 0

将 Spring Data JPA 与 Oracle Identity 列和不同的列用作主键时如何处理约束冲突?

带有 Oracle DB 的 Spring JPA:我们的数据库模式有一个包含 Oracle Identity 列 (id) 和另一列作为主键 uuid 的表。我遇到的问题是在使用保存操作时......

回答 0 投票 0

在 h2 数据库上运行 spring 测试时出错

我正在为我的应用程序使用 spring、hibernate、mysql,我正在尝试使用 h2 来测试我的存储库和服务,但是我收到一个错误,我已经好几天没有解决了。 这是申请

回答 0 投票 0

Spring Boot、Hibernate、Postgres——不创建表

我正在尝试生成基于实体的表。应用程序正确启动,没有创建任何表。怎么了? 我正在使用 postgre sql 版本 14 和 java 17 这是我的 pom: 我正在尝试基于实体生成表格。应用程序正确启动,没有创建任何表。怎么了? 我正在使用 postgre sql 版本 14 和 java 17 这是我的pom: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.0.6</version> <relativePath /> <!-- lookup parent from repository --> </parent> <groupId>com.quizmenia</groupId> <artifactId>quizmeniaserver</artifactId> <version>0.0.1-SNAPSHOT</version> <name>quizmeniaserver</name> <description>quizmenia - Application to host quiz for students, communities etc</description> <properties> <java.version>17</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.eclipse.persistence</groupId> <artifactId>javax.persistence</artifactId> <version>2.0.0</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project> 应用程序.properties: spring.datasource.url=jdbc:postgresql://localhost:5432/quizmenia spring.datasource.username=postgres spring.datasource.password=admin spring.jpa.hibernate.ddl-auto=create-drop spring.datasource.schema=public spring.jpa.show-sql=true spring.jpa.properties.hibernate.format_sql=true spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect spring.jpa.open-in-view=true 如您所见,我添加了 spring.jpa.hibernate.ddl-auto=create-drop 行,但 JPA 仍未创建表。怎么了? 用户实体: package com.quizmenia.quizmeniaserver.model; import java.util.*; import javax.persistence.*; import com.fasterxml.jackson.annotation.JsonIgnore; @Entity @Table(name = "users") public class user { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(nullable = false) private Long userId; @Column(name="first_name") private String firstName; @Column(name="last_name") private String lastName; @Column(name="email") private String email; @Column(name="password") private String password; @Column(name="enable") private Boolean enable; @Column(name="about") private String about; @Column(name="phone_number") private Integer phoneNumber; public user() { } public user(Long userId, String firstName, String lastName, String email, String password, Boolean enable, String about, Integer phoneNumber) { this.userId = userId; this.firstName = firstName; this.lastName = lastName; this.email = email; this.password = password; this.enable = enable; this.about = about; this.phoneNumber = phoneNumber; } public Long getUserId() { return userId; } public void setUserId(Long userId) { this.userId = userId; } public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public Boolean getenable() { return enable; } public void setenable(Boolean enable) { this.enable = enable; } public String getAbout() { return about; } public void setAbout(String about) { this.about = about; } public Integer getPhoneNumber() { return phoneNumber; } public void setPhoneNumber(Integer phoneNumber) { this.phoneNumber = phoneNumber; } } 文件夹结构: 我认为 application.properties 文件有问题 您可以在What are the possible values of the Hibernate hbm2ddl.auto configuration and what do they dofind some useful things about hbm2ddl spring.datasource.url=jdbc:postgresql://localhost:5432/quizmenia spring.datasource.username=postgres spring.datasource.password=admin spring.jpa.hibernate.ddl-auto=create spring.datasource.schema=public spring.jpa.show-sql=true spring.jpa.properties.hibernate.format_sql=true spring.jpa.properties.hibernate.dialect=.. spring.jpa.open-in-view=true 注意:当 show SQL 为真时,首先检查控制台中显示的查询。 尝试改变: @Table(name = "users") 致: @Table(name = "users", schema = "public", catalog = "quizmenia")

回答 2 投票 0

为什么我会收到 JPA @OneToOne 未知实体错误?

我收到错误“org.hibernate.AnnotationException:ca.allauto.ups.model.Vehicle.modelId 上的@OneToOne 或@ManyToOne 引用了一个未知实体:java.lang.Long”以下

回答 1 投票 0

HHH000513:升级到 Hibernate 6 后无法为实体创建 ReflectionOptimizer

最近从 Hibernate 5 升级到 6,我在调试级别看到以下错误。 12:36:11.892 [main] DEBUG org.hibernate.bytecode.internal.bytebuddy.BytecodeProviderImpl - HHH000513:无法

回答 2 投票 0

Hibernate 尝试检索具有不存在的 Id 的实体关系

我有休眠问题。我有 2 个具有以下配置的实体: 我有休眠问题。我有 2 个具有以下配置的实体: <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class table="Activity" name="com.encima.comp.activity.AbstractActivity"> <cache usage="read-write"/> <id access="property" name="id"> <generator class="sequence"> <param name="sequence">activity_seq</param> </generator> </id> <set fetch="join" access="property" lazy="false" cascade="all" name="activitiesFromPackage"> <key column="activity"/> <one-to-many class="com.encima.comp.activity.ActivityFromPackage"/> </set> </class> </hibernate-mapping> <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class table="activityfrompackage" name="com.encima.comp.activity.ActivityFromPackage"> <cache usage="read-write"/> <id access="property" name="id"> <generator class="sequence"> <param name="sequence">activityfrompackage_seq</param> </generator> </id> <many-to-one column="activity" access="property" cascade="none" name="activity"/> </class> </hibernate-mapping> Activity和ActivityFromPackage是多对一的关系 有时,我得到这个错误: Unable to find com.encima.comp.activity.ActivityFromPackage with id 246517 那个Id不存在。数据库中没有具有该 ID 的 ActivityFromPackage。我不知道那个身份证号码是从哪里来的。 当我尝试加载与ActivityFromPackage相关的实体或使用活动时出现问题。但问题是,我并不总是收到错误,它偶尔会发生。 例如,我有一些日志在这些行中引发错误: (Hotel) HibernateUtil.currentSession().load(Hotel.class, legacyRoom.getHotel().getId()); 酒店有很多活动,一个活动有很多ActivityFromPackage。 或在这里: AbstractActivity activity = (AbstractActivity) HibernateUtil.currentSession().load(AbstractActivity.class, compId); activity.setActiveLang(lang); 也在这里: activity.getRateplancode_price_sale_facturation() 有人知道会发生什么吗?非常感谢!

回答 0 投票 0

如何在两个实体之间创建多对多链接并将数据保存在数据库中

抱歉,如果这不是我应该在这里问的问题类型,但我找不到我要找的东西。 我正在开发一个应该写入下表的 Spring Boot 应用程序:

回答 0 投票 0

隐式转换发生

问题描述: 我使用 Springboot 2.7.9 和 microsoft sqlserver 作为数据库。 Spring data Jpa 将 BigDecimal 数据类型作为 decimal(38,0) 发送到 MssqlServer,其中列定义为 decimal(12,0)

回答 0 投票 0

SpringBoot 应用程序中用户'hp'@'localhost'(使用密码:NO)的访问被拒绝

尝试使用我的 SpringBoot 应用程序连接 MySQL 服务器但面临上述问题,有人可以建议吗? spring.datasource.url=jdbc:mysql://localhost:3306/myblog spring.datasourse.username=A...

回答 3 投票 0

在带休眠的 spring boot 中使用 CompletableFuture 获取和更新实体的策略

我有一个使用休眠模式运行的 spring boot 应用程序。在我的计划中,我有一个可以有多个居民的城市。 我有以下方法来更新城市的居民: 公共无效

回答 0 投票 0

SpringBoot事务@Test如何获取当前session?

Spring 文档警告事务测试中的误报并提出以下建议: // ... @Autowired 会话工厂会话工厂; @事务性 @Test // 没有预期的异常! ...

回答 2 投票 0

迁移到 Hibernate 6 后查询中断

更新到 Hibernate 6(来自 5.6)时,一些现有查询被破坏。 例如,执行此查询在 5.6 中运行良好: @询问( "SELECT new Position(p, CASE WHEN p.

回答 1 投票 0

Hibernate 5.x 到 Hibernate 6.x 别名问题

我正在从 spring boot 2.7(hibernate 5.x)迁移到 spring boot 3.0(hibernate 6.x)。 我的数据库是 Oracle 19c,我使用的是 OracleDialect。 问题是我们遗留代码中的一些实体有

回答 1 投票 0

Java (JPA) 和表列默认值

非常感谢您对 JPA 的建议。我们有一个数据库(PostgreSQL 引擎),对于表来说,碰巧有一列有它的 DEFAULT。数据库连接到 Java 后端(wi ...

回答 1 投票 0

List 字段的 Hibernate 映射异常

我有一个 oracle 表 MYTABLE,它有 3 列,如下所述。 |编号 | myclob_column |专栏3| 它有一列 (myclob_column),这是 clob 数据 (json)。示例 clob 数据如下。 { &quo...

回答 1 投票 0
热门问答
最新问题