首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LdapRepository更新spring-ldap

LdapRepository更新spring-ldap
EN

Stack Overflow用户
提问于 2015-10-22 18:21:22
回答 1查看 1.7K关注 0票数 0

当我试图更新LdapRepository数据库中的现有对象时,Spring ()方法会抛出异常。

代码语言:javascript
复制
org.apache.directory.api.ldap.model.exception.LdapEntryAlreadyExistsException: ERR_250_ENTRY_ALREADY_EXISTS

我应该使用什么方法来更新现有的ldap对象?

个人班:

代码语言:javascript
复制
@Entry(objectClasses = { "inetOrgPerson", "organizationalPerson", "person", "top" })
public class Person implements Serializable {

public Person() {
}

@Id
private Name dn;

@Attribute(name = "cn")
@DnAttribute(value = "cn")
@JsonProperty("cn")
private String fullName;

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

private String mail;

@Attribute(name = "sn")
private String surname;
//setters and getters
}

人员回购接口:

代码语言:javascript
复制
public interface PersonRepo extends LdapRepository<Person> {
}

我就是这么更新人的:

代码语言:javascript
复制
personRepo.save(person);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-23 18:50:41

Spring存储库的默认实现是SimpleLdapRepository,它检查带有@Id注释的属性,以确定对象是新的还是旧的,并执行更新。

当您试图执行更新时,我猜Person.dnnull

您还可以通过实现org.springframework.data.domain.Persistable来控制这一点,并将您的逻辑放在isNew()方法中。

实施细节

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33288011

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档