sql >> データベース >  >> RDS >> Mysql

JPA2.1を使用したEnumSetからmysqlSetへのマッピング

    どうもありがとう!私はあなたがここに持っているものとは少し異なるバージョンを使わなければなりませんでした。私のために働いたのは:

    調整が必要な権限の列挙型がありました:

    @Convert(converter = SetConverter.class)
    @Column(name = "permission")
    private EnumSet<Permission> permission;
    
    
    //in a util and imported
    ...
    @Converter
    public static class SetConverter implements AttributeConverter<EnumSet<Permission>, String> {
    
        public String convertToDatabaseColumn(EnumSet<Permission> attribute) {
            StringBuilder sb = new StringBuilder();
            for (Permission c : attribute) { 
                sb.append(c + ",");
            }
            return sb.toString();
        }
    
        public EnumSet<Permission> convertToEntityAttribute(String dbData) {
            if (dbData == null) {
                dbData = "";
            }
            EnumSet<Permission> perm = EnumSet.of(Permission.DEFAULT); //default was a value I added.
            String[] persistencePermissions = StringUtils.trimAllWhitespace(dbData).toUpperCase().split(",");
            if (!StringUtils.isEmpty(StringUtils.trimAllWhitespace(dbData))) {
            try {
                for (String str : persistencePermissions) { 
                perm.add(Permission.valueOf(str));
            }}  
            catch (IllegalArgumentException IAE) {
                throw new Exception("INVALID_REQUEST");
            }}
    
            return perm;
    
        }
    
    }
    


    1. グループで最大行を取得していますか?

    2. クラシックASPページを使用してOracleデータベースからNCLOB、CLOBデータ値を読み取る方法は?

    3. mysqlからHbaseへの継続的なデータ移行

    4. 結果のない左結合のMySQLjson_arrayagg