Я столкнулся с этой проблемой сегодня и не могу ее решить. У меня есть проект, который содержит класс Domain.Заменить Roo @Id Длинные id с идентификатором @Id Integer на суперкласс не влияет на дочерние классы
@DiscriminatorColumn(name = "type_abrv", columnDefinition = "type_abrv", discriminatorType = DiscriminatorType.STRING)
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
public class Domain {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer id;
@Size(max = 100)
private String description;
@Size(max = 10)
@Column(name = "ABRV")
private String abbreviation;
@ManyToOne(targetEntity = Domain.class, optional = true, fetch = FetchType.LAZY)
@JoinColumn(name = "id_parent", nullable = true, insertable = false)
@Cascade({ CascadeType.PERSIST })
private Domain parent = null;
@ManyToOne(targetEntity = DomainType.class, fetch = FetchType.LAZY)
@JoinColumn(name = "id_type", nullable = true, insertable = false, referencedColumnName = "id")
@Cascade({ CascadeType.ALL })
private DomainType type;
@Column(name = "ACTIVE")
private Boolean active;
}
В других проектах, я хочу продлить домен, например:
@Entity
@RooJpaEntity
@DiscriminatorValue(value="MSGST")
public class MessageStatus extends Domain {
public static String TYPE_ABRV = "MSGST";
public static String PENDING = "PEND";
public static String PROCESSING = "IN_PROCESS";
public static String PROCESSED = "DONE";
}
Дело в том, Roo генерирует MessageStatus_Roo_Jpa_Entity, содержащий идентификатор длиной, в результате чего конфликт, когда я пытаюсь скомпилировать проект ,
ошибка при бр \ ком \ g4it \ Util \ модель \ домен \ Domain.java :: 0 не может переопределить java.lang.Integer ~ .model.domain.Domain.getId() с Явы. lang.Long ~ .model.queueout.MessageStatus.getId() возвращаемые типы не совпадают
privileged aspect MessageType_Roo_Jpa_Entity {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private Long MessageType.id;
public Long MessageType.getId() {
return this.id;
}
public void MessageType.setId(Long id) {
this.id = id;
}
...
}
Итак, мой вопрос: является ли это, что это не возможно, чтобы делать то, что я пытаюсь, или я делаю это неправильно? Каким будет решение?
Я использую STS с Roo Add On и создаю проект с maven. Проект, содержащий домен, присутствует в других проектах pom.xml-файла как зависимость, а также путь сборки STS. Версия Roo - 1.2.3.RELEASE
Ницца, у меня есть негатив, но нет комментариев вообще о том, почему ... – elithin