2016-10-25 5 views
1

休止状態のアノテーションに関する質問があります。 私はBaseEntity.javaと休止状態のアノテーションでフィールドを除外したい

BaseEntity.java. 

@MappedSuperclass 
public abstract class BaseEntity<T> implements Serializable { 
    @Id 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    private T     id; 

    @ManyToOne(fetch = FetchType.LAZY) 
    @JoinColumn(name = "CreatedBy", nullable = true) 
    private User    createdBy; 

    @ManyToOne(fetch = FetchType.LAZY) 
    @JoinColumn(name = "subsite", nullable = true) 
    private Subsite    subsite; 
} 

BaseEntity.java

extende state.javaという名前のモデルを持っているstate.java

データベースにプログラムが私のテーブルを作成するとき、私は何をすべきか
@Entity 
@Table(name="State") 
public class State extends BaseEntity<Long> { 

    @Column(name = "state", nullable = true) 
    private String state; 

    @Column(name = "city", nullable = true) 
    private String city; 
} 

、私の親クラスにはサブサイトのような1つのフィールドが設定されていますが、私の子クラスではdonotが設定されています とhibernateはこのフィールドを無視します。

+0

updateByはテーブルにありますか? – Mahi

+0

あなたのユーザークラスを追加してください – Mahi

+0

@atie私の答えを見てくださいhttp://stackoverflow.com/a/38162978/3344829 – Saravana

答えて

0

あなたはcreatedBy属性に@Transientのアノテーションを使用する場合があります、しかし、それはあなたのケースのために行うことはできませんので、あなたが@ManyToOne注釈を使用しているシンクは、このattirbuteは別のものに参照され、詳細については、このquestionにREFEREしてください。