У меня есть представление на основе базовой таблицы на oracle 11g. Я также использую Kotlin и Hibernate в качестве ORM
представление имеет пол следующим образом:
decode(c.xxyy,'0','Male','1','Female','Undefined') as gender,
И базовая таблица имеет CHAR(1 BYTE)
как тип данных, в настоящее время у меня есть только разрешение на выбор и обновление вид сверху. Но я не могу найти тип данных для отображения. Попытка поставить атрибут как String
приводит к ошибке ORA-01733: virtual column not allowed here
Также попытка других типов данных, таких как int
или прямой enum GENDER
, приведет к другой ошибке, касающейся типов данных. Так что я думаю String
- правильный выбор.
@Entity
@Table(name = "TVIEW", schema = "XXXX")
class PersonBackground(
@Id
@Column(name = "ID")
var id: String,
@Column(name = "NICKNAME")
var nickname: String?,
@Column(name = "BIRTHPLACE")
var birthCity: String?,
//@Column(name = "GENDER")
//var gender: String
)
Могу ли я как-то обновить вид сверху? или мне нужно обновить базовую таблицу?
Как только я удалил Gender из запроса на обновление, все это начало работать, но, к сожалению, нам тоже нужна эта информация ..