如何使用 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> {

}

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


有什么办法可以用注释来完成这个映射吗?


繁花如伊
浏览 115回答 1
1回答

qq_笑_17

解决了。与其声明multiValuedAttrwithString[]它必须定义为List<String>@Entry(objectClasses = { "class1", "class2" }, base="ou=my_base_dn")public final class MyLdapEntity {&nbsp; &nbsp; @Id&nbsp; &nbsp; private Name dn;&nbsp; &nbsp; @Attribute(name="name")&nbsp; &nbsp; private String name;&nbsp; &nbsp; @Attribute(name="sureName")&nbsp; &nbsp; private String sureName;&nbsp; &nbsp; @Attribute(name="multiValuedAttr")&nbsp; &nbsp; private String[] multiValuedAttr;}也许原因List<String>有方法添加元素而不显式增加数组大小。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java