1
我是JPA的新手,需要一些幫助來獲取JPA中的Many to One關係。JPA多對一關係
我有下面的實體。
存儲所有用戶信息的用戶。用戶擴展Audiatable抽象類是舉辦auidt paramters像上次修改日期,創建日期等
我試圖添加其他領域lastUpdatedByUser應該得到牽強從lastUpdatedBy爲此我amtrying添加許多 - 一個關係。 但是,這種關係並不起作用,我在這裏做錯了什麼?
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的ans,但問題是,我們無法刪除lastUpdateBy ....它已經在很多地方在現有的代碼..所以我們想添加一個瞬變字段lastUpdateByUser只是爲了保存我們的目的爲現在...其種類o f weired設計但由於時間限制暫停重建 – 2012-03-14 08:51:49
如果僅以只讀模式使用,則應該能夠如上所示移除lastUpdatedByUser的地圖,並將'lastUpdateBy'上的列標記爲不可插入和非標記更新。 – 2012-03-14 08:58:50
thnx再次,它的工作原因是每個人最後的評論,但不幸的是lastUpdateBy不僅僅用於只讀模式......對於每個實體,它將被調用來更新進行最後更新的用戶ID。 – 2012-03-14 09:25:38