Spring Hibernate,@ManyToOne无需更新
Crypto.java Values.java main.jsp 所有工作正常,但在我添加值后,表Crypto上的条目会自动更新,并将所有参数设置为空,不带id:Spring Hibernate,@ManyToOne无需更新,spring,hibernate,Spring,Hibernate,Crypto.java Values.java main.jsp 所有工作正常,但在我添加值后,表Crypto上的条目会自动更新,并将所有参数设置为空,不带id: Hibernate: insert into "Values" ("amount", cryptoId, "date", "valuesId") values (?, ?, ?, ?) Hibernate: update "Crypto" set "currency1"=?, "currency2"=?, "exchanger"=?,
Hibernate: insert into "Values" ("amount", cryptoId, "date", "valuesId") values (?, ?, ?, ?)
Hibernate: update "Crypto" set "currency1"=?, "currency2"=?, "exchanger"=?, "mainCurrency"=?, "value"=? where "id"=?
我能为更新做些什么而不调用?删除cascade=CascadeType后。所有操作都正确
@Entity
@Table
public class Values extends SessionDAO {
@Id
@GeneratedValue(strategy=GenerationType.AUTO, generator="my_entity_seq_gen")
@SequenceGenerator(name="my_entity_seq_gen", sequenceName="MY_ENTITY_SEQ")
@Column(unique = true, nullable = false)
private int valuesId;
private double amount;
private Date date;
@ManyToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinColumn(name = "cryptoId")
private Crypto crypto;
getters, setters, etc....
<form:form method="post" commandName="valuesToCreate" action="?action=addValues">
<tr>
<td></td>
<td><form:input path="amount" /></td>
<td><fmt:formatDate value="<%=new java.util.Date()%>" var="dateString" pattern="yyyy/MM/dd" /><form:input path="date" value="${dateString}"/></td>
<td><form:select path="crypto.id"><form:options items="${listCrypto}" itemValue="id" itemLabel="id"/></form:select></td>
<td></td>
<td><input type="submit" value="Add"></td>
</tr>
</form:form>
...
@ModelAttribute Values valuesToCreate
...
session.save(valuesToCreate);
...
Hibernate: insert into "Values" ("amount", cryptoId, "date", "valuesId") values (?, ?, ?, ?)
Hibernate: update "Crypto" set "currency1"=?, "currency2"=?, "exchanger"=?, "mainCurrency"=?, "value"=? where "id"=?