有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Hibernate:在调用另一个方法并将其转换为字符串后,将列表<String>插入数据库:将整个列表保存在单个单元格中

假设我使用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的表中,我希望列表中的所有元素都保存在一个单元格中,在表的同一行、同一列中


共 (0) 个答案