1
外部キーを持たず、データベース構造を変更しない別のエンティティにリンクするEntityにプロパティを(仮想的に)マップしたいと思います。関連するテーブルにマップするキーのゲッターがすでにあります。外部キーなしでhibernate/JPAテーブルを照合する方法
既存のデータベース。バスケット
表卵
+----------------------+------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------------+------------------+------+-----+---------+-------+
| id | int(10) unsigned | NO | PRI | 0 | |
| pid | varchar(60) | NO | | | |
表バスケット
+----------------------+------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------------+------------------+------+-----+---------+-------+
| id | int(10) unsigned | NO | PRI | 0 | |
| pid | varchar(60) | NO | | | |
エンティティ卵
@SuppressWarnings("serial")
@Entity
@Table(name = "egg")
public class Egg implements java.io.Serializable {
private long id;
private String pid;
...
@Column(name = "pid")
public String getPid() {
return this.pid;
}
エンティティは、すでに卵用として設定されたPIDゲッターと類似しています。
私は結合をモデル化したいと思います。
LEFT JOIN egg ON basket.pid = egg.pid
どちらの表にもpidをマッピングする外部キーはありません。
私は卵の実体でバスケットのプロパティを作成しようとしました。
@JoinColumn(name = "pid", referencedColumnName = "pid", updatable = false, insertable = false)
public Basket getBasket(
もちろん、hibernateは表に「バスケット」列がないと不平を言う。
この卵のバスケットはどうすれば入手できますか?
は '@ ManyToMany'注釈欠落していない' @ JoinColumn'前に? –