java - 防止 hibernate/jpa 创建代理

标签 java hibernate jpa

与我的团队一起,我们希望阻止 Hibernate 创建代理。我们不想使用急切的获取类型(对所有关系都是惰性的),但我们希望 hibernate 仅返回带有 hql/jpql 查询的属性获取。 (其他属性为空)

为什么?

因为性能问题,我们更愿意避免“get”上的所有“隐藏sql请求”并强制开发人员编写良好的jpql/hql查询。

这是一个好的选择吗? 你知道有什么方法可以做到这一点吗?

谢谢

最佳答案

我不确定您想要什么:如果您不希望静默执行查询,请不要使用 @OneToMany、@ManyToMany 或 @ManyToMany 映射属性。执行 jpql 并“手动”设置标记为 @Transient 的属性(例如通过 DAO)...

关于java - 防止 hibernate/jpa 创建代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26483327/

相关文章:

java - hibernate :org.hibernate.hql.ast.QuerySyntaxException:意外的 token

hibernate - 多对多关系jpa中的补充属性

java - 错误: Could not find or load main class (Something to do with classpath/environment variables)

hibernate - hibernate sessionfactory如何管理 session ?

java - org.hibernate.mapping.JoinedSubclass 无法转换为 org.hibernate.mapping.RootClass

java - 使用 Hibernate 和 Oracle 的奇怪查询

java - 如何使用 JPA 继承将多个子实体插入到同一个父实体中?

java - 有没有办法获得 `Exec` 依赖工件?

java - 从 gstreamer 管道捕获图像

java - 如何将网站图标添加到 Google appengine 应用程序