• Hibernate--Enum类型的set集合映射到数据库(xml配置文件实现方式)


    使用enum 存储Permission的值

    package demo;

    public enum Permission {
        CREATE,DELETE,UPDATE;
    }

    Role与Permission是多对多的关系:

    package demo;
    import java.util.Set;
    public class Role {
        private Integer id;
        public Integer getId() {
            return id;
        }
        public void setId(Integer id) {
            this.id = id;
        }
        private Set<Permission> permissions;
        public Set<Permission> getPermissions() {
            return permissions;
        }
        public void setPermissions(Set<Permission> permissions) {
            this.permissions = permissions;
        }
    }
    Role.hbm.xml

    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <hibernate-mapping>
        <typedef name="permission" class="demo.Permission">
            <param name="enumClassName">demo.Permission</param>
        </typedef>
        <class name="demo.Role" entity-name="role" table="role">
            <id name="id">
                <generator class="native" />
            </id>
            <set name="permissions" table="permission">
                <key column="rid" not-null="true" />
                <element type="permission" column="permission" />
            </set>
        </class>
    </hibernate-mapping>

    运行后数据库生成数据表如下:

  • 相关阅读:
    DAT批处理文件语法
    TreeView控件问题汇总
    windows xp home安装iis
    【Vegas原创】网站计数器(asp)
    转载:shell python脚本互调
    转载:linux的文件属性和权限学习——分析ls命令结果
    python 正则表达式匹配中文
    Python正则表达式
    linux命令备份
    移植算法编译环境到linux【redhat9.0如何显示汉字】
  • 原文地址:https://www.cnblogs.com/ly-radiata/p/4766670.html
Copyright © 2020-2023  润新知