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を使用する任意のソリューションです。挿入オプションはここでうまくいきます。
は、私はこの技術のためのPOJOに変数を割り当てる必要がありませんそれらの値@CreationTimestampとして プライベート日createdAt =新しい日付を設定します(); ...ここにあなたの提案は何ですか...私もこれを試してみました...しかし、同じ問題...更新中は、更新する代わりに新しいレコードとして保存します。 – Space
あなたはそれを開始する必要はありません。 変数「 – mrpw
」に注釈を付けてください。「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