0

mysql 테이블에 한 번에 두 개의 엔티티를 저장해야합니다. 아래 두 엔티티가 있습니다. 하나는 UserEntity이고 다른 하나는 UserDetailsEntity입니다. UserDetails 테이블에 UserId 열을 외래 키로 삽입하려고합니다. UserId가 UserDetails 테이블에 삽입되지 않습니다. 이 Plz에서 나를 도와주세요.외래 키 관계 : UniDirectional annotation hibernate

UserEntity.java

@Id 
@GeneratedValue(strategy = GenerationType.AUTO) 
@Column(name = "UserId") 
private int id; 

@Column(name = "UserLogin", length = 15, unique = true) 
private long phNumber; 

@Column(name = "Password", length = 100) 
private String password; 

@Column(name = "UserType", length = 20) 
private String userType; 

@Column(name = "PromoCode", length = 20) 
private String promoCode; 

@Column(name = "FirstName", length = 30) 
private String firstName; 

@Column(name = "LastName", length = 30) 
private String lastName; 

@Column(name = "RoleId") 
private int roleId; 

@Column(name = "isActive") 
private int isActive; 

@Column(name = "isTestUser") 
private int isTestUser; 

@Column(name = "FcmToken", length = 100) 
private String fcmToken; 

@OneToOne(cascade = CascadeType.ALL) 
@JoinColumn(name = "UserId", unique = true,insertable = true, updatable = true) 
//@ForeignKey(name = "UserId") 
private UserDetailsEntity userDetailsEntity; 

// 여기에 getter 및 setter

UserDetailsEntity.java

@Id 
@GeneratedValue(strategy = GenerationType.AUTO) 
@Column(name = "UserDetailsId") 
private int id; 


@Column(name="UserId", unique=true, nullable=false) 
@GeneratedValue(generator="gen") 
@GenericGenerator(name="gen", strategy="foreign", parameters={@Parameter(name="property", value="uid")})  
private int userId; 

@Column(name ="AadhaarCardNumber" ,length = 12) 
private long aadhaarNumber; 

@Column(name="", length = 50) 
private String emailId; 

@Column(name="Address1" , length = 30) 
private String address1; 

@Column(name="Address2", length = 30) 
private String address2; 

@Column(name="CityId", length = 10) 
private int cityId; 

@Column(name="StateId", length = 10) 
private int stateId; 

@Column(name="CountryId", length = 10) 
private int countryId; 

@Column(name="Latitude", length = 60) 
private String lat; 

@Column(name="Longitude", length = 60) 
private String lng; 

@Column(name="MobileNumber1", length = 15) 
private long mobileNumber1; 

@Column(name="MobileNumber2", length = 15) 
private long mobileNumber2; 

@Column(name="DOB", length = 15) 
private Date dob; 

@OneToOne 
private UserEntity userEntity; 

// 게터와 세터

+0

해결책을 직접 찾았습니다. 내가 갱신하자. –

답변

0

해결책을 직접 찾았습니다. 내가 갱신하자. 부모 테이블에 OneToOne 주석을 추가하면됩니다 (여기는 Users입니다). UserDetails의 ID 인 하위 테이블은 상위 테이블에 저장됩니다. @OneToOne(cascade = CascadeType.ALL,fetch = FetchType.LAZY) @JoinColumn(name = "UserDetailsId", nullable = false) private UserDetailsEntity userDetailsEntity;
내 요구 사항이 완료되고 UserDetailsEntity와 아무 관련이 없습니다.