私はJPAが初めてで、次のような2つのテーブル間の関係を作ろうとしています:
これはメイン クラス オブジェクトXParserLinks
です。
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "link_id")
private Integer linkId;
@OneToMany(mappedBy = "xParserLink", targetEntity = XLinksMedia.class, cascade = CascadeType.ALL)
private List<XLinksMedia> fotos;
...
これがオブジェクトクラスですXLinksMedia
public class XLinksMedia implements Serializable {
private static final long serialVersionUID = 1L;
@EmbeddedId
protected XLinksMediaPK xLinksMediaPK;
@ManyToOne @JoinColumn(name = "link_id")
private XParserLinks xParserLink;
とXLinksMediaPK
@Embeddable
public class XLinksMediaPK implements Serializable {
@Basic(optional = false)
@Column(name = "link_id", insertable = false, updatable = false)
private int linkId;
@Basic(optional = false)
@Column(name = "image")
private String image;
これらの関係は正しいですか?リストに新しいXLinksMedia
オブジェクトを追加したい場合、 を取得しますが、それが ではないことを知っているため、変数に値があることがわかっています。fotos
LinkId = 0
LinkId
0
LinkId
クラスfotos
で変数を設定しようとする方法は次のとおりです( :オブジェクトウィッチは主キーを持っています):XParseLinks
preke
XParseLinks
LinkId
XLinksMedia foto = new XLinksMedia();
foto.setXLinksMediaPK(new XLinksMediaPK());
foto.setxParserLink(preke);
foto.getXLinksMediaPK().setImage(e.attr("src"));
preke.getFotos().add(foto);