public class POJO implements java.io.Serializable {
    
    private String[] strs;
    
    public String[] getStrs() {
        return strs;
    }
    
    public void setStrs(String[] strs) {
        this.strs = strs;
    }
}
在POJO.hbm.xml文件中我想映射成一个叫做strval的字段。类型VARCHAR,存储逗号表达式。如,"a,b,c"。
接收到的值为new String[] {"a", "b", "c"}效果。写得详细点,谢谢。

解决方案 »

  1.   

    为什么不换种思维?public class POJO implements java.io.Serializable {
        private Integer id;
        private String strs;
        
        public Integer getId(){
           return id;
        }    public void setId(Integer id){
           this.id = id;
        }    public String getStrs() {
            return strs;
        }
        
        public void setStrs(String strs) {
            this.strs = strs;
        }
    }//hbm.xml,假设POJO类路径为com.csdn.bean.POJO
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <!-- 
        Mapping file autogenerated by MyEclipse Persistence Tools
    -->
    <hibernate-mapping>
        <class name="com.csdn.bean.POJO" table="pojo">
            <id name="id" type="integer">
                <column name="ID" />
                <generator class="increment" />
            </id>
            <property name="strval" type="string">
                <column name="field_strval" not-null="true"/>
            </property>
        </class>
    </hibernate-mapping>
    当要使用strs时:
    String strs = pojo.getStrs();
    String[] result = strs.split(",");
      

  2.   

    可以把数组的值映射到表的一个字段,然后解析。
    如果数组类型为自定义类,且这个类是一个实体,可以配置成set,网上搜下配置方法。
      

  3.   


    你可以在你的POJO 类里面定义一个字符串数组String strs = this.getStrs();
    String[] result = strs.split(",");将这个方法 写在数组的get方法里面就省事了不过还是楼上说的映射成String 换个思路更简单些~