0
我厭倦了嘗試的東西,我沒有任何結果。我的用戶有一個國家,國家有很多用戶。問題是當我創建一個新用戶時。 我不知道問題出在哪裏。@OneToOne春季關係mcv
我有這個用戶的Bean:
@Entity
@Table(name="usuarios")
public class Usuario {
@Id
@GeneratedValue
@Column(name="id")
private Integer id;
@Column(name="nombre", nullable=false)
private String nombre;
@OneToOne
@JoinColumn(name = "id_pais")
private Pais pais;
/* Getters & Setters */
....
}
鄉村豆:
@Entity
@Table(name="paises")
public class Pais {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="id")
private Integer id;
@Column(name="nombre")
private String nombre;
@OneToMany(mappedBy="pais")
private Set<Usuario> usuarios;
/* Getters & Setters */
}
控制器:
@Controller
@RequestMapping(value = "/usuario")
public class UsuariosController {
@Autowired
private UsuarioService usuarioService;
@RequestMapping(method = RequestMethod.POST)
public RedirectView store(Usuario usuario) {
usuarioService.store(usuario);
return new RedirectView("../usuario");
}
@ModelAttribute("usuario")
public Usuario getUsuario() {
return new Usuario();
}
}
的服務:
@Service
public class UsuarioServiceImplement implements UsuarioService{
@Autowired
private UsuarioDAO usuarioDAO;
public void store(final Usuario usuario) {
usuarioDAO.store(usuario);
}
}
的DAO:
@Repository
public class UsuarioHibernateDAO implements UsuarioDAO{
@Autowired
private SessionFactory sessionFactory;
@Transactional(readOnly = false)
public void store(final Usuario usuario) {
sessionFactory.getCurrentSession().save(usuario);
}
}
形式:
<form:form action="../usuario" method="POST" commandName="usuario">
<!-- nombre -->
<form:input path="nombre" type="text" class="form-control" id="nombre" />
<!-- pais -->
<form:select path="pais" class="form-control">
<form:option value="1">España</form:option>
</form:select>
<input type="submit" class="btn btn-success" value="Enviar" />
</form:form>
我得到這樣的:
Estado HTTP 400 -
type Informe de estado
mensaje
descripción El requerimiento enviado por el cliente era sintácticamente incorrecto.
Apache Tomcat/8.0.20
你有什麼問題?你能用英文解釋嗎? – 2015-04-01 11:32:06
我的問題是當我嘗試創建一個新用戶。與該國家沒有工作關係,並在apache中給我一個錯誤400。如果我刪除關係和屬性國家,它會正常工作。 – Hoddix 2015-04-01 11:52:06
未能將java.lang.String類型的屬性值轉換爲屬性pais所需的類型com.lookautonomos.domain.Pais;嵌套異常是java.lang.IllegalStateException:無法將屬性pais的類型[java.lang.String]的值轉換爲所需的類型[com.lookautonomos.domain.Pais]:未找到匹配的編輯器或轉換策略 – Hoddix 2015-04-01 16:25:36