У меня есть таблица Employee с идентификатором поля, именем, возрастом, адресом (как строка Jsonb, хранящаяся в базе данных Postgres)
@Entity
@Table(name = "Employee")
@TypeDef(name = "jsonb", typeClass = JsonBinaryType.class)
public class Employee implements Serializable {
@Id
@Column
@GeneratedValue(strategy = GenerationType.AUTO)
int Id;
@Column
String name;
@Column
int age;
@Column(columnDefinition = "jsonb")
@Type(type="jsonb")
Address address; // this field is JSONB data stored in postgress DB
// setter and getters
}
public class Address implements Serializable {
String flatNo;
String area;
String state;
// setter and getters
}
Формат данных таблицы БД:
id | name | age | address
---+----------+-----+--------------------------------------------------------
20 | Peter | 16 | {"area": "KKR", "state": "KARNATAKA", "flatNo": "456"}
21 | Nani | 20 | {"area": "CTM", "state": "TA", "flatNo": "111"}
Мой запрос здесь: мне нужно отфильтровать данные на основе поля jsonb.
Например, нужны полные данные о сотрудниках на основе area="KKR"
, поскольку область не является прямым полем сотрудника, я не могу фильтровать данные. Я новичок в Постгресе. Не могли бы вы предложить мне, что делать?