かなり複雑な OSGi 環境で JPA を使用して、単純な外部キー関係シップを設定しようとしています。
使用したい 2 つのエンティティは、次のようにバンドルで構成されています。
masterbundle
|->org.masterpackage.persistence
|-> MasterEntityDto.java
slavebundle
|->org.slavepackage.persistence
|-> SlaveEntity.java
SlaveEntity
などを参照しMasterEntityDto
たい
@Entity(name = "SlaveEntity")
public class SlaveEntity {
@Id
@Column(name = "slaveID")
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@OneToOne
@JoinColumn(name = "masterEntity_id")
private MasterEntity masterEntity;
// snip..
}
現在、MasterEntityDto (またはそのパッケージ) をエクスポートしていないため、これは失敗しているmasterbundle
と思います。OSGi のサービス アスペクトを使用しています。masterBundle は、Dtoの代わりにDto を使用provide-interface
するサービスです。バンドルの開始時に表示される例外には、とりわけorg.osgi.framework.BundleException: Unresolved constraint in bundle slavebundle [121]: Unable to resolve 121.8: missing requirement [121.8] osgi.wiring.package;
質問: からへの@OneToOne
リレーションを作成するにはどうすればよいですか? OSGi サービス プラットフォームを使用していて、サービスのみを公開し、バンドル/パッケージ全体を公開していない場合、これは不可能ですか?SlaveEntity
MasterEntityDto
Edit1
リクエストによると:MasterEntityDto
空想は何もありません。
@Entity(name = "MasterEntityDto")
public class MasterEntityDto {
@Id
@Column(name = "id", length = 128)
private String masterId;
// snip
}
SlaveEntity
JPA に- 列SlaveId
(このテーブル PK) を持つテーブルを作成し、テーブルの列masterEntity_id
を指す外部キーとして機能するようにしたいと思います。MasterEntityDto
id