我有一個帶有多個參數的JPA/EclipseLink模型,其值由PostgreSQL數據庫設置爲默認值。具體來說,我有:在插入JPA時跳過一列
SERIAL
類型的id
列其中自動遞增,當添加新行TIMESTAMP
類型的created_at
欄默認爲now()
我的模型看起來像這樣:
import javax.persistence.*;
@Entity
@Table(name="entity")
@NamedQuery(name="Entity.findAll", query="SELECT e from Entity e")
public class Entity {
@Id @GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer id;
@Column(name="created_at")
private java.sql.Timestamp createdAt;
// constructor, getters, and setters
}
當我試圖插入一行在javax.persistence.EntityManager
中爲,插入失敗,因爲created_at
列的值被設置爲NULL
。我不想插入NULL
,我只想不插入任何東西到該列中,並允許PostgreSQL將其設置爲now()
。本質上,我想在createdAt
上使用@GeneratedValue
,但該註釋僅適用於主鍵,不能用於多個屬性。是否有另一個我可以使用的註釋來實現這一點?
也許這就是你要找的東西:http://stackoverflow.com/questions/8202154/how-to-create-an-auto-generated-date-timestamp-field-in-a-play-jpa – Spasoje