JPA Help
Mike Barnes <mike.barnes-f9aWwpgOZj5Wk0Htik3J/[email protected]> Fri, 8 Dec 2017 14:51:42 -0800
| Newsgroups | gmane.org.user-groups.ajug.members |
|---|---|
| Message-ID | <[email protected]> |
--===============6828178395398278231==
Content-Type: multipart/alternative;
boundary="_6A6C3445-6CB5-4E47-831D-274DB5F2D4F4_"
--_6A6C3445-6CB5-4E47-831D-274DB5F2D4F4_
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"
I have a master/detail Entity and when trying to insert into the database I=
see that the detail tables does not have the master id. I have tried sever=
al ways but no joy. Could someone help me figure this out please
Master Entity
@Entity(name=3D"SensewareMaster")
public class SensewareMaster implements java.io.Serializable {
/**
*=20
*/
private static final long serialVersionUID =3D 4339450175966302338L;
@Id
@GeneratedValue(strategy =3D GenerationType.AUTO)
@Column(name=3D"id", unique=3Dtrue, nullable=3Dfalse)
private int id;
=E2=80=A6
@OneToMany(cascade=3DCascadeType.ALL, fetch=3DFetchType.LAZY, mappedBy=
=3D"master")
private Set<Detail> data;
Detail Entity
@Entity(name =3D "sensewaredata")
public class Detail implements java.io.Serializable {
/**
*=20
*/
private static final long serialVersionUID =3D -6427634832997399496L;
@Id
@GeneratedValue(strategy =3D GenerationType.AUTO)
@Column(name =3D "id", unique =3D true, nullable =3D false)
private int id;
=E2=80=A6
@ManyToOne(fetch =3D FetchType.LAZY)
@JoinColumn(name =3D "master_id")
private Master master;
json data attempted to being saved:
{
"data":[{
"pkt":999,"ts":999,"raw":999,"value":99.9
},{
"pkt":9991,"ts":9991,"raw":9991,"value":99.2
}],
"sn":"XXXXX",
"site":"XXX",
"location":"XXX",
"mod":999,
"pos":99,
"sid":99,
"type":"TXXX",
"cid":999,
"name":"XXXXX",
"transform":"",
"ts":9999999,
"unit":"X",
"subscription_id":"ABC-BBB"
}
After calling save, looking at the db, the detail table has 2 records as ex=
pected except that the master_id is not populated.
Any help would be greatly appreciated.
Thanks
Mike Barnes
--_6A6C3445-6CB5-4E47-831D-274DB5F2D4F4_
Content-Transfer-Encoding: base64
Content-Type: text/html; charset="utf-8"
PGh0bWwgeG1sbnM6bz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNlIiB4
bWxuczp3PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIiB4bWxuczptPSJo
dHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA0LzEyL29tbWwiIHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PUNv
bnRlbnQtVHlwZSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPjxtZXRhIG5hbWU9
R2VuZXJhdG9yIGNvbnRlbnQ9Ik1pY3Jvc29mdCBXb3JkIDE1IChmaWx0ZXJlZCBtZWRpdW0pIj48
c3R5bGU+PCEtLQ0KLyogRm9udCBEZWZpbml0aW9ucyAqLw0KQGZvbnQtZmFjZQ0KCXtmb250LWZh
bWlseToiQ2FtYnJpYSBNYXRoIjsNCglwYW5vc2UtMToyIDQgNSAzIDUgNCA2IDMgMiA0O30NCkBm
b250LWZhY2UNCgl7Zm9udC1mYW1pbHk6Q2FsaWJyaTsNCglwYW5vc2UtMToyIDE1IDUgMiAyIDIg
NCAzIDIgNDt9DQovKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KcC5Nc29Ob3JtYWwsIGxpLk1zb05v
cm1hbCwgZGl2Lk1zb05vcm1hbA0KCXttYXJnaW46MGluOw0KCW1hcmdpbi1ib3R0b206LjAwMDFw
dDsNCglmb250LXNpemU6MTEuMHB0Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlm
O30NCi5Nc29DaHBEZWZhdWx0DQoJe21zby1zdHlsZS10eXBlOmV4cG9ydC1vbmx5O30NCkBwYWdl
IFdvcmRTZWN0aW9uMQ0KCXtzaXplOjguNWluIDExLjBpbjsNCgltYXJnaW46MS4waW4gMS4waW4g
MS4waW4gMS4waW47fQ0KZGl2LldvcmRTZWN0aW9uMQ0KCXtwYWdlOldvcmRTZWN0aW9uMTt9DQot
LT48L3N0eWxlPjwvaGVhZD48Ym9keSBsYW5nPUVOLVVTPjxkaXYgY2xhc3M9V29yZFNlY3Rpb24x
PjxwIGNsYXNzPU1zb05vcm1hbD5JIGhhdmUgYSBtYXN0ZXIvZGV0YWlsIEVudGl0eSBhbmQgd2hl
biB0cnlpbmcgdG8gaW5zZXJ0IGludG8gdGhlIGRhdGFiYXNlIEkgc2VlIHRoYXQgdGhlIGRldGFp
bCB0YWJsZXMgZG9lcyBub3QgaGF2ZSB0aGUgbWFzdGVyIGlkLiBJIGhhdmUgdHJpZWQgc2V2ZXJh
bCB3YXlzIGJ1dCBubyBqb3kuIENvdWxkIHNvbWVvbmUgaGVscCBtZSBmaWd1cmUgdGhpcyBvdXQg
cGxlYXNlPC9wPjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD48cCBjbGFz
cz1Nc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+PHAgY2xhc3M9TXNvTm9ybWFsPk1hc3Rl
ciBFbnRpdHk8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPkBFbnRpdHkobmFtZT0mcXVvdDtTZW5zZXdh
cmVNYXN0ZXImcXVvdDspPC9wPjxwIGNsYXNzPU1zb05vcm1hbD5wdWJsaWMgY2xhc3MgU2Vuc2V3
YXJlTWFzdGVywqAgaW1wbGVtZW50cyBqYXZhLmlvLlNlcmlhbGl6YWJsZSB7PC9wPjxwIGNsYXNz
PU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+PG86cD4m
bmJzcDs8L286cD48L3A+PHAgY2xhc3M9TXNvTm9ybWFsPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCAvKio8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCAgKiA8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCDCoCovPC9wPjxwIGNsYXNzPU1zb05vcm1hbD7CoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqAgcHJpdmF0ZSBzdGF0aWMgZmluYWwgbG9uZyBzZXJpYWxWZXJzaW9uVUlEID0gNDMz
OTQ1MDE3NTk2NjMwMjMzOEw7PC9wPjxwIGNsYXNzPU1zb05vcm1hbD7CoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqAgQElkPC9wPjxwIGNsYXNzPU1zb05vcm1hbD7CoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqAgQEdlbmVyYXRlZFZhbHVlKHN0cmF0ZWd5ID0gR2VuZXJhdGlvblR5cGUu
QVVUTyk8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPsKgwqDCoCBAQ29sdW1uKG5hbWU9JnF1b3Q7aWQm
cXVvdDssIHVuaXF1ZT10cnVlLCBudWxsYWJsZT1mYWxzZSk8L3A+PHAgY2xhc3M9TXNvTm9ybWFs
PsKgwqDCoMKgIHByaXZhdGUgaW50IGlkOzwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+4oCmPC9wPjxw
IGNsYXNzPU1zb05vcm1hbD7CoMKgwqDCoCBAT25lVG9NYW55KGNhc2NhZGU9Q2FzY2FkZVR5cGUu
QUxMLCBmZXRjaD1GZXRjaFR5cGUuTEFaWSwgbWFwcGVkQnk9JnF1b3Q7bWFzdGVyJnF1b3Q7KTwv
cD48cCBjbGFzcz1Nc29Ob3JtYWw+wqDCoMKgwqAgcHJpdmF0ZSBTZXQmbHQ7RGV0YWlsJmd0OyBk
YXRhOzwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+PHAgY2xhc3M9
TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPjxwIGNsYXNzPU1zb05vcm1hbD5EZXRhaWwg
RW50aXR5PC9wPjxwIGNsYXNzPU1zb05vcm1hbD5ARW50aXR5KG5hbWUgPSAmcXVvdDtzZW5zZXdh
cmVkYXRhJnF1b3Q7KTwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+cHVibGljIGNsYXNzIERldGFpbCBp
bXBsZW1lbnRzIGphdmEuaW8uU2VyaWFsaXphYmxlIHs8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPjxv
OnA+Jm5ic3A7PC9vOnA+PC9wPjxwIGNsYXNzPU1zb05vcm1hbD7CoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgLyoqPC9wPjxwIGNsYXNzPU1zb05vcm1hbD7CoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgICogPC9wPjxwIGNsYXNzPU1zb05vcm1hbD7CoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgwqAqLzwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+wqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgIHByaXZhdGUgc3RhdGljIGZpbmFsIGxvbmcgc2VyaWFsVmVyc2lvblVJRCA9
IC02NDI3NjM0ODMyOTk3Mzk5NDk2TDs8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPsKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCBASWQ8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPsKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCBAR2VuZXJhdGVkVmFsdWUoc3RyYXRlZ3kgPSBHZW5lcmF0aW9u
VHlwZS5BVVRPKTwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgIEBDb2x1bW4obmFtZSA9ICZxdW90O2lkJnF1b3Q7LCB1bmlxdWUgPSB0cnVlLCBudWxs
YWJsZSA9IGZhbHNlKTwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+wqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgIHByaXZhdGUgaW50IGlkOzwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+wqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg4oCm
PC9wPjxwIGNsYXNzPU1zb05vcm1hbD7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQE1h
bnlUb09uZShmZXRjaCA9IEZldGNoVHlwZS5MQVpZKTwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+wqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEBKb2luQ29sdW1uKG5hbWUgPSAmcXVvdDttYXN0
ZXJfaWQmcXVvdDspPC9wPjxwIGNsYXNzPU1zb05vcm1hbD7CoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqAgcHJpdmF0ZSBNYXN0ZXIgbWFzdGVyOzwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+PG86
cD4mbmJzcDs8L286cD48L3A+PHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9w
PjxwIGNsYXNzPU1zb05vcm1hbD5qc29uIGRhdGEgYXR0ZW1wdGVkIHRvIGJlaW5nIHNhdmVkOjwv
cD48cCBjbGFzcz1Nc29Ob3JtYWw+ezwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+wqAgJnF1b3Q7ZGF0
YSZxdW90OzpbezwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+wqDCoMKgICZxdW90O3BrdCZxdW90Ozo5
OTksJnF1b3Q7dHMmcXVvdDs6OTk5LCZxdW90O3JhdyZxdW90Ozo5OTksJnF1b3Q7dmFsdWUmcXVv
dDs6OTkuOTwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+wqAgfSx7PC9wPjxwIGNsYXNzPU1zb05vcm1h
bD7CoMKgwqAgJnF1b3Q7cGt0JnF1b3Q7Ojk5OTEsJnF1b3Q7dHMmcXVvdDs6OTk5MSwmcXVvdDty
YXcmcXVvdDs6OTk5MSwmcXVvdDt2YWx1ZSZxdW90Ozo5OS4yPG86cD48L286cD48L3A+PHAgY2xh
c3M9TXNvTm9ybWFsPsKgIH1dLDwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+wqAgJnF1b3Q7c24mcXVv
dDs6JnF1b3Q7WFhYWFgmcXVvdDssPC9wPjxwIGNsYXNzPU1zb05vcm1hbD7CoCAmcXVvdDtzaXRl
JnF1b3Q7OiZxdW90O1hYWCZxdW90Oyw8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPsKgICZxdW90O2xv
Y2F0aW9uJnF1b3Q7OiZxdW90O1hYWCZxdW90Oyw8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPsKgICZx
dW90O21vZCZxdW90Ozo5OTksPC9wPjxwIGNsYXNzPU1zb05vcm1hbD7CoCAmcXVvdDtwb3MmcXVv
dDs6OTksPC9wPjxwIGNsYXNzPU1zb05vcm1hbD7CoCAmcXVvdDtzaWQmcXVvdDs6OTksPC9wPjxw
IGNsYXNzPU1zb05vcm1hbD7CoCAmcXVvdDt0eXBlJnF1b3Q7OiZxdW90O1RYWFgmcXVvdDssPC9w
PjxwIGNsYXNzPU1zb05vcm1hbD7CoCAmcXVvdDtjaWQmcXVvdDs6OTk5LDwvcD48cCBjbGFzcz1N
c29Ob3JtYWw+wqAgJnF1b3Q7bmFtZSZxdW90OzomcXVvdDtYWFhYWCZxdW90Oyw8L3A+PHAgY2xh
c3M9TXNvTm9ybWFsPsKgICZxdW90O3RyYW5zZm9ybSZxdW90OzomcXVvdDsmcXVvdDssPC9wPjxw
IGNsYXNzPU1zb05vcm1hbD7CoCAmcXVvdDt0cyZxdW90Ozo5OTk5OTk5LDwvcD48cCBjbGFzcz1N
c29Ob3JtYWw+wqAgJnF1b3Q7dW5pdCZxdW90OzomcXVvdDtYJnF1b3Q7LDwvcD48cCBjbGFzcz1N
c29Ob3JtYWw+wqAgJnF1b3Q7c3Vic2NyaXB0aW9uX2lkJnF1b3Q7OiZxdW90O0FCQy1CQkImcXVv
dDs8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPn08L3A+PHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5i
c3A7PC9vOnA+PC9wPjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD48cCBj
bGFzcz1Nc29Ob3JtYWw+QWZ0ZXIgY2FsbGluZyBzYXZlLCBsb29raW5nIGF0IHRoZSBkYiwgdGhl
IGRldGFpbCB0YWJsZSBoYXMgMiByZWNvcmRzIGFzIGV4cGVjdGVkIGV4Y2VwdCB0aGF0IHRoZSBt
YXN0ZXJfaWQgaXMgbm90IHBvcHVsYXRlZC48L3A+PHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5i
c3A7PC9vOnA+PC9wPjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD48cCBj
bGFzcz1Nc29Ob3JtYWw+QW55IGhlbHAgd291bGQgYmUgZ3JlYXRseSBhcHByZWNpYXRlZC48L3A+
PHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPjxwIGNsYXNzPU1zb05vcm1h
bD48bzpwPiZuYnNwOzwvbzpwPjwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+VGhhbmtzPC9wPjxwIGNs
YXNzPU1zb05vcm1hbD5NaWtlIEJhcm5lczwvcD48L2Rpdj48L2JvZHk+PC9odG1sPg==
--_6A6C3445-6CB5-4E47-831D-274DB5F2D4F4_--
--===============6828178395398278231==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYWp1Zy1tZW1i
ZXJzIG1haWxpbmcgbGlzdAphanVnLW1lbWJlcnNAbGlzdHMuYWp1Zy5vcmcKTWFuYWdlIHlvdXIg
c3Vic2NyaXB0aW9uIGFuZCB1bnN1YnNjcmliZSBodHRwOi8vbGlzdHMuYWp1Zy5vcmcvbWFpbG1h
bi9saXN0aW5mby9hanVnLW1lbWJlcnM=
--===============6828178395398278231==--