Hibernate通过hbm方式处理List
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hibernate通过hbm方式处理List相关的知识,希望对你有一定的参考价值。
创建实体后,实体类中有一个List类型的字段
package com.keduox.collections; import java.util.List; public class ListUser { private int id; private String name; private List<Integer> likes; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public List<Integer> getLikes() { return likes; } public void setLikes(List<Integer> likes) { this.likes = likes; } }
HBM文件
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="ListUser" table="t_list_user"> <id name="id" column="id"> <generator class="native"/> </id> <property name="name"/> <!-- 集合的配置 --> <list name="likes" table="list_likes"> <key column="like_id" not-null="true"/> <index column="like_index"></index> <element type="java.lang.Integer"> <column name="like_value"></column> </element> </list> </class> </hibernate-mapping>
测试代码
@Test public void test() { SessionFactory sessionFactory = SessionFactoryUtil.getSessionFactory(); Session session=sessionFactory.openSession(); Transaction tr=session.beginTransaction(); /*ListUser listUser=new ListUser(); listUser.setName("测试"); List<Integer> list=new ArrayList<Integer>(); list.add(1); list.add(2); list.add(3); list.add(4); listUser.setLikes(list); session.save(listUser);*/ ListUser listUser=(ListUser) session.load(ListUser.class, 1); List<Integer> list=new ArrayList<Integer>(); list.add(8); list.add(9); list.add(10); listUser.setLikes(list); session.update(listUser); tr.commit(); }
本文出自 “code穿梭” 博客,转载请与作者联系!
以上是关于Hibernate通过hbm方式处理List的主要内容,如果未能解决你的问题,请参考以下文章
eclipse通过hibernate tools逆向工程生成hbm.xml和实体类