如何使用Spring存储库在LDAP中绑定多值属性

我想使用Spring存储库从LDAP检索多值属性。

我的实际代码是这样的:

@Entry(objectClasses = { "class1","class2" },base="ou=my_base_dn")
public final class MyLdapEntity {

    @Id
    private Name dn;

    @Attribute(name="name")
    private String name;

    @Attribute(name="sureName")
    private String sureName;

    @Attribute(name="multiValuedAttr")
    private String[] multiValuedAttr;
}

还有我的存储库类:

@Repository
public interface MyLdapRepository extends CrudRepository<MyLdapEntity,Long> {
}

当我尝试获取多值属性时,只能使用第一个条目。

¿有什么方法可以使用批注进行此映射吗?

candy009 回答:如何使用Spring存储库在LDAP中绑定多值属性

已解决。

必须将其定义为multiValuedAttr,而不是用String[]声明List<String>

@Entry(objectClasses = { "class1","class2" },base="ou=my_base_dn")
public final class MyLdapEntity {

    @Id
    private Name dn;

    @Attribute(name="name")
    private String name;

    @Attribute(name="sureName")
    private String sureName;

    @Attribute(name="multiValuedAttr")
    private String[] multiValuedAttr;
}

可能是因为List<String>具有添加元素而无需显式增加数组大小的方法。

本文链接:https://www.f2er.com/3166676.html

大家都在问