我喜欢在Quarkus中使用JAX-RS的想法,因为它将使代码不依赖于框架实现。但是,对于数据库we're proposed,使用“ Panache”并从PanacheEntity
扩展数据库实体。我想这对AOT工作非常方便并且很好(基本上是Quarkus试图做的事情),并且大大简化了Quarkus的工作,但是它引入了对特定实现的严重依赖,因此我们不能使用纯JPA模块。 >
这与“干净的体系结构”冲突,并使这种DB模块的测试变得复杂[如果有可能的话]。假设我希望能够对基于Spring和Quarkus的应用程序模块使用相同的数据库模块(仅使用纯JPA注释)。就设计的纯洁性而言,它迫使我重复编写代码或作弊。
是否有可能使用纯JPA注释来保持持久性,并可能通过插件(在编译期间修改代码)或使用不进行运行时字节码修改/使用反射的ORM框架来付出代价?有例子吗?
PS。恭喜1.0发布!干得好,Quarkus团队。
答案 0 :(得分:3)
Panache完全是可选的,您可以坚持使用简单的JPA,如https://quarkus.io/guides/hibernate-orm中所述。
如果您能解释为什么您认为必须使用Panache,我相信这对Quarkus团队会很有趣。