【发布时间】:2020-05-11 10:34:55
【问题描述】:
假设我有这个类,我正在尝试使用 Hibernate 将其插入 PostgreSQL 数据库:
@Entity
@Table(name = "users")
public class User {
private String name;
private String email;
private List<String> pets = new ArrayList<>(); //pets get added later
//getters, setters, adders
}
在另一个文件中:
public class Utils {
public static String listToString(List<?> list, String separator) {
String result = "";
for (Object e: list) {
result += e.toString() + separator;
}
return result == "" ? result : result.substring(0, result.lastIndexOf(separator));
}
}
我希望将用户映射到一个 name email pets 表,其中 pets 值 Utils.listToString(user.getPets())。是否可以通过 Hibernate 实现?
编辑:
我对代码进行了这些更改
private List<String> pets= new CustomArrayList();
public class CustomArrayList extends ArrayList<String> implements List<String> {
@Override
public String toString() {
return Utils.listToString(this, "\n");
}
}
如果使用CustomArrayList 更容易实现,我如何让Hibernate 在数据库中保存时调用它的toString?
编辑:
我希望将所有内容保存在名为 pets 的同一张表中,我希望列表中的所有元素保存在一个单个中单元格,在同一行,在表格的同一列中。
【问题讨论】:
标签: java postgresql hibernate hibernate-mapping