问题标签 [quarkus-panache]
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.
java - 在 Hibernate Panache 中抛出具有空结果集的异常
我的 Quarkus REST 应用程序中有几个GET
接受 ID 的调用。
我正在使用活动记录模式来处理数据库请求。来自 Spring,JdbcTemplate
只要结果集为空,就会抛出异常。我将使用捕获此异常ControllerAdvice
并抛出适当的响应代码(在本例中为 404)。这也适用于所有其他例外情况。
有没有办法配置 Panache / Hibernate 在空结果集上抛出异常?现在,我必须手动检查结果是否为空/null,然后抛出相应的异常。
例如,这是我现在必须做的:
当我宁愿在异常处理程序中捕获异常并简单地将调用返回到findById(...)
:
quarkus - 将 PanacheEntity 与 Quarkus "import.sql" 一起使用时如何避免 id 冲突(违反唯一约束)
我正在使用 quarkus "import.sql" 将初始数据添加到我的应用程序中。该数据由扩展 PanacheEntity 的类访问。
通过 rest webservice(id == null)插入新数据时,第一次插入会遇到此错误:
如何告诉 panache 开始使用从 import.sql 插入的数据开始的 ID?
java - 为什么在使用带有 quarkus panache 的惰性获取时向下转换会引发异常?
我有一个实体层次结构:它扩展ATeamEntity
并包含.
并延伸
和延伸。BTeamEntity
BaseTeamEntity
UserEntity
BaseTeamEntity
BaseTeamEntity
UserEntity
BaseEntity
BaseEntity
PanacheEntityBase
我已经定义UserEntity
以一种懒惰的方式获取BaseTeamEntity
,我正在尝试执行如下向下转换:
当我这样做时,我遇到了一个例外:
如果我想直接沮丧而不是通过UserEntity
这样的:
它似乎工作。
当我BaseTeamEntity
以UserEntity
一种渴望的方式进入时,两种方式似乎都有效。
我不明白为什么...有人可以帮我理解为什么吗?
以下是类的高级结构
hibernate - Quarkus panache 1:m 映射没有给出正确的响应
我正在尝试使用 gradle 在 quarkus 上测试 1:m 映射。使用的扩展:
quarkus-hibernate-orm-panache'
夸库斯弹簧网'
邮差:
在 http://localhost:8080/tree 上发布请求:
现在当在 http://localhost:8080/tree 上做 GET 时,水果是空的。为什么它是空的无法找到。
我使用了以下 1 个控制器类和 2 个实体类。
hibernate - 如何使用 Quarkus 和 Panache 获取蛇案例中的表名
我有具有复合驼峰式名称的 Java 实体,例如EmployeeProject
.
我需要将这些实体映射到具有蛇案例名称的表上,例如,employee_project
而不是 Quarkus/Panache 使用的默认值,例如,employeeproject
。
我知道我可以设置一个自定义表名,@Entity(name = "employee_project")
但我想知道是否有某种应用程序属性可以为我做同样的工作。
java - 关于 Hibernate bean 验证
我已经在我的项目中添加了休眠验证器,并用相关的约束注释了我的类。这是我的 pom.xml:
这是带注释的类:
当我尝试通过 Java 代码持久化一个无效的 bean - null 员工/项目和/或非正数 - 时,会引发验证异常,如预期的那样。
但是,当我尝试将无效元组直接保存到数据库中时,令人惊讶的是没有引发异常或数据库错误。实际上原因是employee_project
Hibernate 自动生成的没有验证约束——只有两个外键约束。我知道在 SQL 中没有简单的翻译方法@Min
,但是男孩我至少期待一个 NOT NULL on employee_id
and project_id
!
这是常规行为,还是我错过了什么?
quarkus - 找不到项目时如何返回自定义错误响应
找不到项目时尝试发送自定义错误消息。ifNotNull
大小写正确生成所需的响应。但ifNull
不生成所需的响应(始终响应为空,状态码为 200)
AuthorService.java
资源.java
java - Quarkus REST API with Hibernate/Panache - 端点查询 Postgres 存储过程
有没有特别好的方法可以做到这一点?我使用 Panache/Hibernate ORM 来扩展 PanacheEntity 以为新表的架构创建映射。一切都使用 Repository 方法按预期工作,我有正确的端点来反映 GET、PUT 等。我目前的问题是我试图有一个完全不同的端点,它只在 Postgresql 函数/存储过程上执行 GET 并返回当你到达那个端点时的那个数据。这是终点——
这是对象/类 -
请注意,我并不是想创建一个表格或任何只是为了显示的东西。这是堆栈跟踪,但我尝试了一些似乎让我陷入困境的事情(例如添加 getter/setter 和其他东西) -
Postgres 函数/存储过程是根据我在某处找到的 Python 脚本创建的,它会像这样被调用,并反映在@NamedNativeQuery
注释中。-
查询返回的示例 -
有一个更好的方法吗?我尝试过的一些事情似乎把我带入了错误的圈子。
mongodb - Quarkus Panache MongoDB:将 ObjectId 序列化为字符串
我正在按照教程https://quarkus.io/guides/rest-data-panache和https://quarkus.io/guides/mongodb-panache使用 Quarkus Panache MongoDB 实现一个简单的 MongoDB 实体和资源。
这是我到目前为止所拥有的:
运行它时,我可以通过调用创建一个文档
响应包含创建的实体
请注意,该id
字段如何是一个对象,而我希望它是一个字符串。
quarkus-panache - 如何使用依赖于可选字段的 Panache 构建查询?
假设我有以下数据库实体:
以及以下(简化的)Java 方法:
如果所有字符串都是空的,我想从数据库中检索所有记录。如果 lastname 和 status 有值我想检索相关记录。等等。因此,在创建查询时,我需要检查字段是否具有值,然后将这些字段添加到数据库查询中。我将如何最好地使用 Quarkus Panache 来实现这一点?