Одни и те же объекты в двух проектах, но разные реализации, созданные org.mapstruct.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Одни и те же объекты в двух проектах, но разные реализации, созданные org.mapstruct.

Сообщение Anonymous »

  • UserEntity

    Код: Выделить всё

     @Entity
    @Data
    @Builder
    @Getter
    @Setter
    @NoArgsConstructor
    @AllArgsConstructor
    public class UserEntity /*implements UserDetails*/{
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE)
    private long id;
    
    private String username;
    private String password;
    
    @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
    @JoinTable(
    name = "users_roles",
    joinColumns = @JoinColumn(
    name = "user_id", referencedColumnName = "id"),
    inverseJoinColumns = @JoinColumn(
    name = "role_id", referencedColumnName = "id"))
    private Collection roles;
    }
    
  • Модель пользователя

    Код: Выделить всё

     @Data
    @Builder
    @Getter
    @Setter
    @NoArgsConstructor
    @AllArgsConstructor
    public class UserModel {
    private long id;
    private String username;
    private String password;
    //private Collection roles;
    private List roles;
    }
    
и я написал картограф

Код: Выделить всё

@Mapper(componentModel = "spring")
public interface UserModelToEntityMapper {

UserEntity toEntity(UserModel userModel);

UserModel toModel(UserEntity userEntity);

List toModelList(List userEntityList);

default List mapRoles(Collection roles) {
return roles.stream()
.map(RoleEntity::getName)
.collect(Collectors.toList());
}
}
Но реализация в сгенерированном классе различна в двух проектах.
Я сосредотачиваюсь на одном методе модели здесь.
первый проект

Код: Выделить всё

@Override
public UserModel toModel(UserEntity userEntity) {
if ( userEntity == null ) {
return null;
}

UserModel userModel = new UserModel();

return userModel;
}
Второй проект

Код: Выделить всё

@Override
public UserEntity toEntity(UserModel userModel) {
if ( userModel == null ) {
return null;
}

UserEntity.UserEntityBuilder userEntity = UserEntity.builder();

userEntity.id( userModel.getId() );
userEntity.username( userModel.getUsername() );
userEntity.password( userModel.getPassword() );

return userEntity.build();
}
Я не понимаю, почему создаются две разные реализации, хотя у меня все версии и конфигурации одинаковы.
Пожалуйста, помогите и предложите.

Подробнее здесь: https://stackoverflow.com/questions/784 ... y-org-maps
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»