У меня есть объект MyObject, например:
@Entity
@Table(name = "mytable")
public class MyObject{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@Column(name="title")
private String title;
@Column(name="users")//, columnDefinition="bigint[]")
@ElementCollection
private List<Long> users = new ArrayList<>();
//constructor, getters and setters
}
С классом DAO MyObjectDAO.class, где определяется метод create (create (MyObject mo)), и класс ресурсов MyObjectResource с:
@POST
@UnitOfWork
public Response createMyObject(MyObject mo) {
Response resp;
try {
MyObject mo0 = MyObjectDAO.create(mo);
if(mo0!=null) {
resp = Response.status(Response.Status.OK).entity(mo0).build();
}
else {
resp = Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity("MyObjectnull, can't be created in database").build();
}
}
catch(Exception e) {
resp = Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity("MyObjectnull, can't be created in database\n"+e.getMessage()).build();
}
return resp;
}
Когда я пытаюсь создать с помощью POST MyObject вроде {"id": 0, "title": "dyud u", "users": [334,335]}, я получаю сообщение об ошибке:
org.hibernate.engine.jdbc.spi.SqlExceptionHelper: Ошибка SQL: 0, SQLState: 42804 Ошибка.mais l'expression est de type bigint
У меня нет проблем с созданием, когда пользователи пустые или пустые, или вручную с помощью команды sql:
INSERT INTO mytable ("title","users") VALUES ('t1','{334,335}');
Как я могу это сделать