PlayerProfileEntity と UserInfoEntity の 2 つのエンティティがあります。 userInfoEntity と PlaterProfileEntity に結合し、次のようにデータベースにレコードを保存します。
Session session = sessionFactory.openSession();
Transaction tr = session.beginTransaction();
Criteria crit = session.createCriteria(PlayerProfileEntity.class);
player.setUserId(new UserInfoEntity());
player.getUserId().setAddress(user.getUserId().getAddress());
session.save(player);
tr.commit();
PlayerProfileEntity クラスでこの関連付けを使用しました
@ManyToOne (fetch = FetchType.LAZY)
@Cascade({CascadeType.REFRESH})
@JoinColumn(name="userid")
このエラーが発生しています:
org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: com.shared.entity.UserInfoEntity
注: CascadeType.All を使用すると、次のエラーが発生します。
Cannot add or update a child row: a foreign key constraint fails
どうすればこれを解決できますか
ありがとう