2017-10-02 5 views
0

POJO:休止アップデート機能していない... Springフレームワークを使用して

@Id 
@GeneratedValue(strategy = GenerationType.IDENTITY) 
@Basic(optional = false) 
@Column(name = "id") 
private Integer id; 

@Basic(optional = false) 
@Column(name = "name") 
private String name; 

@Generated(GenerationTime.INSERT) 
@Basic(optional = false) 
@Column(name = "created_at") 
@Temporal(TemporalType.TIMESTAMP) 
private Date createdAt; 

@Generated(GenerationTime.ALWAYS) 
@Basic(optional = false) 
@Column(name = "updated_at") 
@Temporal(TemporalType.TIMESTAMP) 
private Date updatedAt; 

コントローラー:

@Controller 
@RequestMapping(value = "/") 
public class HomeController { 
    @Autowired 
    private NameDao nDao; 

    @RequestMapping(value="/update/{id}", method=RequestMethod.GET) 
    public String getUpdate(@PathVariable int id, Model model){ 
     Stamp st = (Stamp) nDao.getById(id); 
     model.addAttribute("s", st); 
     return "update"; 
    } 

    @RequestMapping(value="/update/{id}", method=RequestMethod.POST) 
    public String postUpdate(@ModelAttribute Stamp s){ 
     nDao.updateName(s); 
     return "redirect:/"; 
    } 

Update.jsp:

<h1>Update Here...</h1> 
    <form method = "post"> 
     <div> 
      <label>Name: </label><input type="text" value="${s.name}" name="name"> 
     </div> 
     <input type="submit" value="Submit"> 
    </form> 

私の唯一の懸念はcreatedAtを使用しており、各エントリのupdatedAt。 createdAtとupdatedAt dateTimeを使用すると、更新の問題が発生しました。今すぐアップデートしてください。 createdAtとupdatedAtにdateTimeを使用する任意のソリューションです。挿入オプションはここでうまくいきます。

答えて

0

使用@CreationTimestampと@UpdateTimestampの代わりに、手動で...

+0

は、私はこの技術のためのPOJOに変数を割り当てる必要がありませんそれらの値@CreationTimestampとして プライベート日createdAt =新しい日付を設定します(); ...ここにあなたの提案は何ですか...私もこれを試してみました...しかし、同じ問題...更新中は、更新する代わりに新しいレコードとして保存します。 – Space

+0

あなたはそれを開始する必要はありません。 変数「 – mrpw

+0

」に注釈を付けてください。「not-nullプロパティはnull値または一時値を参照します:com.project.test.entity.Stamp.createdAt」エラー.... myデータベーススキーマはname = created_at、type = TIMESTAMP、Null =いいえ、Defalut = CURRENT_TIMESTAMP ....そして名前= updated_atの場合、タイプ= TIMESTAMP、ヌル=はい、デフォルト= NULL、余分= ON_UPDATE_CURRENT_TIMESTAMP ....ここに必要な変更は... – Space

関連する問題