gpt4 book ai didi

java - 为单个实体禁用 JPA Hibernate 模式验证

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:37:47 25 4
gpt4 key购买 nike

我有一个 JPA 实体,用作 native 查询的结果类。因此,该实体本身是无效的(因为它没有表)。我使用 Hibernate 4.1.x 作为我的 JPA 提供程序,它在启动期间执行模式验证并因此失败(我没有指定显式表):

org.hibernate.HibernateException: Missing table: MyEntity
at org.hibernate.cfg.Configuration.validateSchema(Configuration.java:1272)
[...]

有没有办法为单个实体关闭模式验证(使用 JPA 或 hibernate 注释或更改 persistence.xml)?

编辑:结果我可以完全避免使用任何实体,但是 Hibernate 将返回 List<Object[]>作为查询结果,技术上可行,但使用起来有点难看:

Query query = entityManager.get().createNativeQuery("SELECT node, last_update FROM mm_repl_monitoring.my_mm_nodes");
List<Object[]> statuses = query.getResultList();

换句话说:如果有一些映射支持甚至可以用于映射到非实体类的 native 查询,那就太好了。

最佳答案

我不确定您为什么将该类注册为一个实体:它是一个自定义类,因此它不必附加或脱离 hibernate/jpa session 。

关于java - 为单个实体禁用 JPA Hibernate 模式验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11669722/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com