【发布时间】:2014-05-31 12:37:26
【问题描述】:
我正在尝试将 MySql 数据库迁移到 Postgresql。我正在使用 JPA,并且对 MySQL 数据库使用 Eclipse Link,但我正在为 Postgresql 数据库切换到 Hibernate。
以下 JPA 注释适用于 EclipseLink:
UserBean.java:
@OneToMany(mappedBy = "sender", cascade = CascadeType.ALL)
@JoinTable(name = "MESSAGES_SENT")
private List<MessageBean> messagesSent;
@OneToMany(mappedBy = "receiver", cascade = CascadeType.ALL)
@JoinTable(name = "MESSAGES_RECEIVED")
private List<MessageBean> messagesReceived;
MessageBean.java:
@ManyToOne
private UserBean sender;
@ManyToOne
private UserBean receiver;
使用 Hibernate,我收到以下错误消息:
org.hibernate.AnnotationException: 标记为 mappedBy 的关联不得定义像 @JoinTable 或 @JoinColumn 这样的数据库映射
如何让它与 Hibernate 一起工作?数据库架构不改变很重要,因为我想将 MySql 数据库转储到 Postgresql 数据库中,而不修改任何表或列名。
干杯,
多米尼克
【问题讨论】:
-
我已经发布了一个答案,你也可以我的答案(列表中的第二个)这个其他问题 -> stackoverflow.com/questions/2749689/…
标签: mysql hibernate postgresql jpa eclipselink