Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用hibernate保存数组值_Java_Hibernate - Fatal编程技术网

Java 如何使用hibernate保存数组值

Java 如何使用hibernate保存数组值,java,hibernate,Java,Hibernate,我有一个string[]类型的bean,它有两个或多个值。我要保存阵列: user.setItem(item[i]); session.beginTransaction(); session.save(user); session.getTransaction().commit(); 但是我只保存了一个数据项,而不是整个数组。如果使用注释,请执行以下操作(使用列表而不是数组) 因为您有一个托管实体实例(用户),并且值类型实例(字符串列表)的生命周期绑定到其所属实体实例(用户)的生命周期。H

我有一个string[]类型的bean,它有两个或多个值。我要保存阵列:

user.setItem(item[i]);
session.beginTransaction();
session.save(user);
session.getTransaction().commit();  

但是我只保存了一个数据项,而不是整个数组。

如果使用注释,请执行以下操作(使用列表而不是数组)

因为您有一个托管实体实例(用户),并且值类型实例(字符串列表)的生命周期绑定到其所属实体实例(用户)的生命周期。Hibernate将保存您的新项目

@Entity
public class User {

    private List<String> itemList = new ArrayList<String>();

    @CollectionOfElements
    @JoinTable(name="TABLE_ITEM")
    private List<String> getItemList() {
        return this.itemList;
    }

}
User user = (User) sessionFactory.openSession().get(User.class, userId);

user.getItemList().add(item);