JPA의 초보자이며 JPA에서 다 대일 관계를 가져 오는 데 도움이 필요합니다.JPA 다 대일 관계
아래 엔티티가 있습니다.
모든 사용자 정보를 저장하는 사용자. 사용자는 등 마지막으로 수정 한 날짜, 만든 날짜와 같은 auidt의 paramters을 들고입니다 Audiatable 추상 클래스를 확장
내가있는 내가 많은을 추가 amtrying lastUpdatedBy에서 가져온 받아야하는 lastUpdatedByUser같은 다른 필드를 추가하는 것을 시도하고있다 - 한 관계. 하지만 그 관계는 어떻게 든 작동하지 않습니다. 제가 여기서 잘못된 것을하고 있습니까?
는 AuditableEntity.java
public abstract class AuditableEntity<T extends Entity<T, ID>, ID> implements Auditable {
private static final long serialVersionUID = 1L;
@Column(name = "cruserid")
private Long createdBy;
@Column(name = "crdate")
@Type(type = JpaConstants.TYPE_LOCAL_DATE_TIME)
private LocalDateTime createdOn;
@Column(name = "chuserid")
private Long lastUpdatedBy;
@Column(name = "chdate")
@Type(type = JpaConstants.TYPE_LOCAL_DATE_TIME)
private LocalDateTime lastUpdatedOn;
@Transient
@ManyToOne(fetch = FetchType.LAZY, targetEntity = User.class)
@JoinColumn(name = "usrId", referencedColumnName = "chuserid")
private User lastUpdatedByUser;
User.java
public class User extends AuditableEntity<User, Long> {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "usrId")
private Long id;
@Column(name = "usrName")
private String name;
@Column(name = "loginame")
private String loginName;
}
안녕하세요, thnx하지만 문제는 우리가 lastUpdateBy ....를 제거 할 수 없다는 것입니다. 이미 기존 코드에서 많은 부분을 참조했습니다. 그래서 우리는 일시적인 필드 lastUpdateByUser를 추가하여 우리의 목적을 저장하려고합니다. 지금 ... 그 종류의 o f weired design하지만 refractoring이 시간 제한으로 인해 보류 중임 –
읽기 전용 모드로만 사용되는 경우 위와 같이 lastUpdatedByUser 맵을 제거하고'lastUpdateBy'의 열을 삽입 할 수 없으며 nonmarkable로 표시 할 수 있어야합니다 업데이트 가능. –
Thnx 다시 말하지만, 마지막 코멘트에 따라 작동하지만 불행히도 lastUpdateBy는 읽기 전용 모드에서만 사용되지 않습니다 ... 각 엔티티에 대해 마지막 업데이트를 수행 한 사용자 ID를 업데이트하기 위해 호출됩니다. –