2015-02-05 50 views
0

我有一個用戶豆:排除從Ebean領域,將其保存在數據庫

@Entity 
public class User extends Model{ 

    @Id 
    public int id; 

    public String name; 
    public String username; 
    public String email; 
    public String password; 
    public Timestamp inscriptionDate; 
    public Timeline timeline; 
} 

我在數據庫與播放保存這樣的:

User user = Form.form(User.class).bindFromRequest().get(); 
user.save(); 

但我不希望保存時間軸用戶字段。

有沒有辦法達到這個目標?

編輯1
我試圖@Transient上通緝領域,BT沒有影響。

EDIT 2
這裏是時間軸類:

import java.util.Collection; 
import java.util.Set; 
import java.util.SortedSet; 
import java.util.TreeSet; 

public class Timeline { 

    public SortedSet<Event> events; 
    public String familyName;  

    public Timeline(String familyName) 
    {  
     this.events=new TreeSet<Event>(Event.getEventsComparator()); 
     this.familyName=familyName; 
    } 
// some other methods 
} 

這裏是用戶等級:

@Entity 
public class User extends Model{ 

@Id 
public int id; 
public String name; 
public String username; 
public String email; 
public String password; 
public Timestamp inscriptionDate; 
@Transient 
public Timeline timeline; 

public User(){} 

public User(String name, String email, String username, String password){ 
    this.name = name; 
    this.email = email; 
    this.username = username; 
    this.password = password; 
} 

// Other methods ... 
} 

編輯3
我顯示我的用戶在db中使用這種方法:

public static Result getUsers(){ 
     List<User> users = new Model.Finder(String.class, User.class).all(); 
     return ok(toJson(users)); 
    } 

一個我覺得這個我爲什麼我總有一種null領域timeline。時間軸實際上是而不是保存在DB中,對不對?

回答

0

將數據直接從請求(表單)綁定到數據庫實體類是一種安全漏洞。您需要將其綁定到POJO課程,如有必要,請執行驗證,然後親自填寫您的User.class請求數據。

+0

我做到了,但同樣的問題,它節省了時間表。所以,我真的必須明確聲明時間線爲「不可存檔」 – Mornor 2015-02-05 14:53:14

0

我在我的應用程序中使用@Transient成功。

也許是一個進口的問題:

import javax.persistence.Transient 

import java.beans.Transient 

編輯2

在DB排除領域:@Transient工作

在JSON排除領域:它存在幾個解決方案,view是一個

+0

不可以,這個不起作用:( – Mornor 2015-02-05 14:52:03

+0

是否可以通過示例獲取更多代碼,整個類(時間軸,用戶)? – 2015-02-05 20:47:25

+0

我編輯了我的(請參閱編輯2)。謝謝! – Mornor 2015-02-05 22:12:52