У меня есть класс под названием Device.class, и я хочу иметь поле, которое является списком CommentObj.class. проблема в том, что это поле не сохраняется в базе данных (я использую Ebean). как это можно сделать?Сохранение списка объектов в игровой структуре
@Entity
public class Device extends Model {
@Id
public Long id;
@Constraints.MaxLength(50)
@Constraints.Required
public String serialNo;
...
public List<CommentObj> comments = new ArrayList<CommentObj>();
и
public class CommentObj extends Model {
@Id
public Long id;
@Constraints.MaxLength(50)
public String author;
@Constraints.MaxLength(500)
@Constraints.Required
public String content;
@Constraints.Required
public Date date;
public static Finder<Long, CommentObj> find = new Finder<>(Long.class, CommentObj.class);
public CommentObj(String author, String content){
this.author = author;
this.content = content;
date = new Date();
}
}
здесь структура устройства в базе данных (в соответствии с 1.sql). нет никаких признаков поля комментариев
create table device (
id bigint not null,
serial_no varchar(255),
invent_no varchar(255),
name varchar(255),
device_type_id bigint,
description varchar(2000),
cal_date timestamp,
cal_duration_in_months integer,
setup_id bigint,
manufacturer_id bigint,
constraint pk_device primary key (id))
;
Если между Device и CommentObj существует отношение «один-много», в таблице CommentObj должен быть только столбец 'device_id'. Когда вы запрашиваете список комментариев, в основном Ebean будет загружать строки в CommentObj, которые соответствуют этому внешнему ключу ... – Salem
@salem, в этом случае мне нужно аннотировать CommentObj с Entity и добавить к нему поле Device. но на самом деле мне не нужно выводить устройство из commentObj. это одностороннее отношение. есть ли другое решение? решение без наличия device_id в моем комментарииObj? – behzad