将SQL视图映射到JPA实体

Bor*_*ris 18 design-patterns jpa java-ee

在我的开发项目中,我使用JPA(hibernate)作为OR Mapping技术进行数据库访问.当我将DB表直接映射到实体以获得复杂的关系时,我有时会遇到性能问题和技术难题.

我找到一个解决方法是将DB视图映射到JPA实体.这使编码更容易,有时性能更好.你认为这是以这种方式使用JPA的反模式吗?

JMe*_*nik 12

这不是一种解决方法,也不是一种反模式.有一个关于将JPA实体映射到SQL视图的主题.它为您提供了是否使用此方法的足够信息.

就个人而言,我更喜欢Java类,因此我使用Result Classes Constructor Expression.它根据结果查询返回实例化并填充提供的类的对象.

您可以查看这两种方法,这些方法可以提高性能并降低结构复杂性.

  • 我也更喜欢将结果映射到结果类,但我对自定义实体方法有一些疑问.根据规范,JPA实体必须有一个"@ Id"字段; 但是,您可以拥有包含重复记录的视图.你是如何处理这种情况的? (2认同)