Hibernate抛出以下异常:
Caused by: java.sql.SQLException: Field 'catVerb_id' doesn't have a default value
Run Code Online (Sandbox Code Playgroud)
人们说问题在于我的PK没有AUTO_INCREMENT语句,但你可以看到我在我的数据库中完成了这个并且问题仍在继续.所以,我带来了我的类和我的数据库实现.
我认为我的问题出在测试课上......有人可以告诉我如何测试这个?
(是的,有些单词是葡萄牙语,但你可以理解).
CategoriaVerbete
@Entity
@Table(name="verbete_categoria")
public class CategoriaVerbete implements Serializable{
private long id;
private String nome;
private String descricao;
private int serie;
private Set<Verbete> verbetes = new HashSet<Verbete>();
private Set<SignificadosVerbete> significados = new HashSet<SignificadosVerbete>();
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="catVerb_id")
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
...
@OneToMany(cascade = {CascadeType.ALL})
@JoinColumn(name="catVerb_id", nullable = true)
public Set<Verbete> getVerbetes() {
return …Run Code Online (Sandbox Code Playgroud) 我将使用StackOverflow的用户配置文件页面作为示例.假设我们有这个网址:
如果我们更改(在浏览器的url栏中编辑)最后一个路径变量,如下所示:
/sf/users/142549011/WordThatIsNotTheLoginOfThisUser
...并按Enter键,返回的URL将是第一个,这意味着此变量被设置为正确的登录,基于另一个变量,可能是用户的id(2036414).换句话说,URL被更正为:
我的问题是:如何使用Spring MVC做到这一点?这是我的控制器:
@RequestMapping(value="/{id}/{login}", method = RequestMethod.GET)
public String showPerfilUsuario(@PathVariable("id") long id, @PathVariable("login") String login, Map<String, Object> model){
Usuario usuario = usuarioService.buscarUsuarioPorId(id);
model.put("usuario", usuario);
return "usuario"; //that's the tiles definition's name
}
Run Code Online (Sandbox Code Playgroud)
任何帮助都会被贬低,谢谢.