मेरा अनुमान है, चूंकि आपने इकाई की आईडी में @column को चिह्नित नहीं किया है, यह आपके गेट्टर का डिफ़ॉल्ट संपत्ति नाम ले रहा है जो 'आईडी' होगा
कोशिश करें,प्रिंसिपल
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
Column(name="principal_id")
private Long principal_id;
भूमिका
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
Column(name="role_id")
private Long role_id;