没有@Id的休眠/持久性

米格尔(Miguel):

我有一个数据库视图,该视图产生的结果集没有真正的主键。我想使用Hibernate / Persistence将结果集映射到Java对象上。当然,因为没有PK,所以我不能用修饰任何字段@Id

部署时,Hibernate抱怨缺少该组件@Id我该如何解决?

爱德华·布里奇(Edward Q.

如果存在使行唯一的列组合,请围绕列组合建模主键类。如果没有,您基本上就不走运了-但您应该重新检查视图的设计,因为它可能没有意义。

有两种不同的方法:

@Entity
public class RegionalArticle implements Serializable {

    @Id
    public RegionalArticlePk getPk() { ... }
}

@Embeddable
public class RegionalArticlePk implements Serializable { ... }

要么:

@Entity
public class RegionalArticle implements Serializable {

    @EmbeddedId
    public RegionalArticlePk getPk() { ... }
}

public class RegionalArticlePk implements Serializable { ... }

详细信息在这里:http : //docs.jboss.org/ejb3/app-server/HibernateAnnotations/reference/en/html_single/index.html#d0e1517

这是描述类似问题的帖子:http : //www.theserverside.com/discussions/thread.tss?thread_id=22638

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

休眠和mysql的Persistence.xml设置显示“没有EntityManager的持久性提供程序”

NHibernate:CastProjection没有持久性

休眠/持久性有哪些常见问题?

从@EmbeddedId类提取超类时,实体没有持久性ID属性

休眠中的持久性是什么?

休眠和持久性。注释错误

JPA + Hibernate = EntityManager没有持久性提供程序

Hibernate的5.2.2:没有持久性提供的EntityManager

Hibernate-EntityManager没有持久性提供程序

没有名为***的EntityManager的持久性提供程序

没有SQL Server的数据库持久性

没有名为EntityManager的持久性提供程序

JBoss消息传递中没有持久性

测试中没有EntityManager的持久性提供程序

在Fluent NHibernet中获取“没有持久性”错误

创建没有inittab的持久性进程

持久性单元错误:javax.persistence.PersistenceException:没有名为EntityManager的持久性提供程序

休眠多对多映射持久性异常

通过持久性ID查找演员

没有XA的事务中是否可以有两个MSSQL持久性单元?

带有EMF Texo的Glassfish 4-JPA没有持久性提供程序

有没有办法向进度条添加刷新持久性?

JPA错误-名为EntityManager的没有持久性提供程序

javax.persistence.PersistenceException:没有名为XX的EntityManager的持久性提供程序

Lubuntu 16.04中的启动磁盘创建器使USB只读,没有持久性存储选项

没有数据库映射的对象持久性

javax.persistence.PersistenceException:没有名为enterManager的EntityManager的持久性提供程序

“没有用于EntityManager的持久性提供程序”错误

没有名为X的EntityManager的持久性提供程序