度过愉快的一天!
我的问题是:
我在postgresql中有一个表格,其中包含text []类型的字段。
CREATE TABLE pregunta_contenido
(
id_pregunta integer NOT NULL DEFAULT nextval('seq_pregunta_contenido'::regclass),
contenido integer NOT NULL,
num_pregunta integer,
descripcion_pregunta text,
respuesta text[],
correcta text,
CONSTRAINT pk_pregunta PRIMARY KEY (id_pregunta),
CONSTRAINT fk_pregunta_contenido FOREIGN KEY (contenido)
REFERENCES contenido (id_contenido) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE NO ACTION
);
我在Java应用程序中有这个表的映射:
@Entity
@Table(name="pregunta_contenido")
public class PreguntaContenido {
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SEQ_GEN")
@javax.persistence.SequenceGenerator(name="SEQ_GEN",sequenceName="seq_pregunta_contenido",allocationSize=1)
@Column(name="id_pregunta")
public Integer idPregunta;
@JsonIgnore
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="contenido", nullable=false)
public Contenido contenido;
@Column(name="num_pregunta")
public Integer numPregunta;
@Column(name="descripcion_pregunta")
public String descripcionPregunta;
@Column(name="respuesta")
public String respuesta;
@Column(name="correcta")
public String correcta;
}
当我获取信息时,映射进展顺利,但是当我设置它时由于text []类型和类型字符串不兼容而出错。
如何在列respuesta中映射与类型text []匹配的类型?
非常感谢。
答案 0 :(得分:0)
在@Entity
注释后尝试下面的代码: -
@TypeDefs({@TypeDef(name = "string-array",typeClass = StringArrayType.class)})
并将以下代码用于实体: -
@Type( type = "respuesta" )
@Column(name = "respuesta", columnDefinition = "text[]")
private String[] respuesta;