问题标签 [micronaut-data]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1161 浏览

java - Micronaut 数据的问题

我目前正在将现有的 Micronaut 应用程序从版本 1.2.x 升级到 2.2.1(最新),我认为开始使用它micronaut-data来执行所需的任何数据库交互也是一个好主意。

我已经实现了所有各种代码更改,并且还移植了代码以使用 Micronaut 自己的存储库,但是每当我启动应用程序时,每次它尝试执行任何与数据库相关的交互时都会失败并出现以下错误:

我已按照此处找到的有关设置 Micronaut 数据的配置指南进行操作,并且我认为我已经导入了所有正确的依赖项https://micronaut-projects.github.io/micronaut-data/latest/guide/#introduction

文档指出事务管理器应该自动可用,但情况似乎并非如此。

供参考build.gradle,我application.yml看起来像这样:

有没有人暗示为什么会出现这个问题?

0 投票
1 回答
337 浏览

java - micronaut 的“JpaSpecificationExecutor”替代方案是什么?

我想要动态过滤器查询。例子

/api/users?name=xyz

/api/users?name=xyz&email=abc

使用 Spring Boot,可以使用 JpaSpecificationExecutor,我可以在其中传递自定义“规范”。如何使用 micronaut 数据做到这一点?

0 投票
1 回答
554 浏览

java - Micronaut 数据问题懒惰地获取相关实体

我目前正在将 micronaut 数据合并到现有的 micronaut 项目中(作为升级的一部分),并且在延迟获取相关集合(有OneToMany关系)方面遇到了一些问题。

我有以下实体结构:

在手头上,我可以merchantPrefs使用以下存储库方法毫无问题地获取第一级相关实体(即):

awards但是,当我尝试从这个实体中获取一个最里面的集合时:

我得到一个LazyInitializationException.

此外,这似乎是一个零星的问题,因为有时相同的代码似乎工作正常。我不太确定出了什么问题,我认为我已经正确地建模了关系,因为在迁移到micronaut-data.

我不知道我在这里做错了什么,为了解决这个问题,我们将不胜感激任何帮助。

0 投票
1 回答
115 浏览

hibernate - 休眠的 Micronaut-data:中止的事务仍然修改数据库

我目前在尝试让 micronaut-data 处理事务时遇到问题。

据我了解,流程如下:

  • 开始交易
  • 执行写入 1
  • 抛出异常

应该产生一个未修改的数据库,即事务应该回滚。

我使用 micronaut-web start、一个简单的实体、存储库和一个测试创建了一个最小的示例,并尝试使用 @Transactional、SynchronousTransactionManager 等进行不同的尝试,但在所有情况下,数据库修改在事务之后都是可见的。最小的例子可以在这里找到:https ://github.com/Spellmaker/transactiontestgradle/

测试类的直接链接:https ://github.com/Spellmaker/transactiontestgradle/blob/master/src/test/kotlin/com/example/TransactiontestgradleTest.kt

显然,配置或我对事务的理解一定有问题。那么是哪一个呢?

0 投票
1 回答
48 浏览

java - Java MongoClient 添加新的嵌入文档

我在 mongodb 中有以下数据类型

由于上述数据已经是现有数据,现在使用 MongoClient 我想根据_id插入新的嵌入文档,如下所示

一次,数组已被插入,我再次需要向数组中添加另一个项目,如下所示

0 投票
1 回答
101 浏览

jpa - Micronaut JDBC 存储库 - 尝试执行查询时出现异常

我刚开始使用 Micronaut 最近在一家使用它的公司找到了一份新工作。

每次我尝试通过运行集成测试来执行此方法时,都会收到以下异常:

真的很难弄清楚这一点。已将其描述给一位对尝试的事情也没有想法的同事。

在这个项目的其他地方,有一些预先存在的代码做一些非常相似的事情。它工作正常。

提前致谢。

0 投票
2 回答
312 浏览

java - 如何确定字符串是否可以用作 MongoDB ObjectID?

我正在使用带有 JAVA 的 Micronaut 框架,并尝试使用以下字符串验证 objectId。

如何使用 MongoDb 在 Java 中执行字符串是否具有有效的 objectId?

0 投票
1 回答
2205 浏览

java - Micronaut - 不存在 [io.micronaut.transaction.SynchronousTransactionManager] 类型的 bean

我正在将我的一个微服务从 Spring 迁移到 Micronaut,这是我在调用控制器加载一个实体时遇到的问题。我得到的错误是:

我已经启用了io.micronaut.context.condition记录器,将其设置为级别,但我在日志TRACE中看不到该类的引用。SynchronousTransactionManager

这是我的 build.gradle:

这是我的application.yml

控制器:

应用服务

我意识到的一件事是,如果我删除@Transactional注释,这个错误就不会再发生了,但我最终会遇到另一个错误:

这里有关于发生了什么的任何线索吗?

0 投票
0 回答
184 浏览

java - Java Micronaut - 在我多次点击端点后抛出“javax.net.ssl.SSLHandshakeException”

我有一个简单的 micronaut 应用程序。

我有两个单独的端点,其中执行的方法将使用客户端调用 API(我已经尝试了来自“java.net.http.HttpClient”和“io.micronaut.http.client.RxHttpClient”的 http 客户端,但是发生同样的问题)。

当您在启动应用程序后点击任何端点时,该函数将按预期执行,其中客户端调用外部 API 并将响应作为字符串检索。如果您尝试再次访问相同的端点,它将抛出:

“javax.net.ssl.SSLHandshakeException:收到致命警报:handshake_failure。”

我认为这不是 API 服务器端的问题,原因如下:

  1. 当我使用两个单独的外部 API 访问两个单独的端点时会发生此问题
  2. 请求第一次通过没问题
  3. 我可以在邮递员中毫无错误地使用相同的 API - 只是当我与客户端调用它们时才会出现问题。

我的控制器:

我的客户端调用 API 的服务之一:

就像我说的,当我第一次点击端点时,响应从服务器返回,没有问题。

我已经尝试了以下文章并遵循了这些步骤,但没有任何改进。

https://www.baeldung.com/java-ssl-handshake-failures

如何解决 javax.net.ssl.SSLHandshakeException 错误?

有什么我想念的吗?

0 投票
0 回答
298 浏览

java - Micronaut,db-scheduler:当前不存在事务。考虑在周围的方法上声明@Transactional

我正在尝试将 db-scheduler 与 Micronaut 一起使用。因此,我创建了一个@Singleton 服务,在其中注入了 TransactionAwareDataSource 类型的实际 DataSource。然后我调用某种方法来设置调度程序,类似于:

其中,在“创建”处抛出此异常:

在我的应用程序的其他任何地方,一切都在正常工作,这意味着,我可以通过存储库读取和写入数据库,@Transactional 也可以正常工作。

我不是 100% 确定问题出在哪里,但我想它确实与放置注释有关。这 - 在这种情况下 - 是我无法真正改变的。另一方面,如果我手动创建数据源,有效地绕过 micronaut,它就可以工作。

顺便说一句:异常出现在第一次调用数据库的 db-scheduler 中 (c.getMetaData().getDatabaseProductName())。

Micronaut-Version:2.3.4,Micronaut-Data:2.2.4,一切设置正确。

你们有任何想法如何解决这个问题吗?或者它甚至是一个错误?

谢谢!