当我保存以下实体时,它在另一个对象中复制相同的值:
例如,在我的struts项目(屏幕)中,如果我更改shipmentShipper字段的值,那么Shipment收货人也将使用相同的值进行更新。
实体:
package com.logistics.entities.orderManagement;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import org.hibernate.annotations.NotFound;
import org.hibernate.annotations.NotFoundAction;
import com.dsiksjane.beans.common.NecessaryFields;
import com.logistics.entities.customers.Customers;
import lombok.Getter;
import lombok.Setter;
@Entity
@Table(name="orders")
@Getter
@Setter
public class Orders extends NecessaryFields {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="id")
private Long id;
@Column(name="consignee_ntn")
private String consigneeNtn;
/**
* Clearing Agent
*/
@ManyToOne
@NotFound(action = NotFoundAction.IGNORE)
@JoinColumn(name="clearing_agent_name")
private Customers clearingAgentName;
@ManyToOne
@NotFound(action = NotFoundAction.IGNORE)
@JoinColumn(name="shipment_shipper")
private Customers shipmentShipper;
@ManyToOne
@NotFound(action = NotFoundAction.IGNORE)
@JoinColumn(name="shipment_consignee")
private Customers shipmentConsignee;
@ManyToOne
@NotFound(action = NotFoundAction.IGNORE)
@JoinColumn(name="shipment_notify_party")
private Customers shipmentNotifyParty;
@ManyToOne
@NotFound(action = NotFoundAction.IGNORE)
@JoinColumn(name="shipment_forwarder")
private Customers shipmentForwarder;
@Column(name="clearing_agent_challan")
private String clearingAgentChallan;
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "order_details_id", referencedColumnName = "id")
private OrdersDetail orderDetails;
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "order_address_id", referencedColumnName = "id")
private OrdersAddress orderAddress;
}
仓库类:
@Service
public class OrderManagementService implements IOrderManagementService {
@Autowired
private IOrderManagementDAO dao;
@Override
public OrderManagementCO save(OrderManagementCO orderManagementCO, LoginBean loggedInUser) throws Exception {
Orders obj = orderManagementCO.getOrder();
if( obj.getId() != null ) {
obj.setUpdatedBy(loggedInUser.getUserName());
obj.setUpdatedDate( new java.util.Date() );
} else {
obj.setCreatedBy(loggedInUser.getUserName());
obj.setCreatedDate( new java.util.Date() );
obj.setCompanyId( loggedInUser.getCompanyId() );
}
dao.save( obj );
return orderManagementCO;
}
}
JSP中的字段映射(工作正常):
<s:select id="selectShipper" class="custom-field"
name="orderManagementCO.order.shipmentShipper.id"
label="Service Type" headerKey="-1" headerValue="Select Shipper"
list="%{customersList}" listKey="id" listValue="fullName" />
<s:select id="selectConsignee" class="custom-field"
name="orderManagementCO.order.shipmentConsignee.id"
label="Consignee" headerKey="-1" headerValue="Select Consignee"
list="%{customersList}" listKey="id" listValue="fullName" />
请检查屏幕截图,我将发货人更改为C4并保存。收货人也被选为C4。请注意,两个选择都使用相同的数据列表填充。(客户名单)
我认为,您应该在
背景:对于我的用户,我需要存储一对相同的对象类型(设置),目前我有它像 我正在创建带有设置的KeyValueTypes,并将其添加到列表中(每个用户都有一个列表)。我的设置有一个值字段(它显示了它们是否比其他设置“更重要”),所以我希望基于该字段添加它们,稍后我还需要基于该字段(可能还需要基于名称字段)进行搜索--所以搜索将不得不在列表中查找,然后在KeyValueTypes中查找 问题:什么是最
问题内容: 我正在尝试使用hibernate模式写入多个数据库。我已经将写和读/写会话封装在单个会话对象中。但是,当我去保存时,出现很多错误,这些对象已与另一个会话关联:“非法尝试将一个集合与两个打开的会话关联” 这是我的代码: 我试图逐出该物体并冲洗;但是,这会导致“行被另一个事务更新或删除”问题,即使两个会话都指向不同的数据库。 除了上述内容,我还尝试使用hibernate的复制功能。没有错误
我正在使用Mockito编写单元测试,但我在模仿注入的类时遇到了问题。问题是两个注入的类是相同的类型,仅通过它们的注释来区分。如果我试图简单地模拟,那么在我的测试中,该模拟不会被注入,并且该对象为。我如何模拟这些对象?
本文向大家介绍创建许多相同类型的JavaScript对象?,包括了创建许多相同类型的JavaScript对象?的使用技巧和注意事项,需要的朋友参考一下 创建单个对象比创建相同类型的多个对象要容易得多。为了克服这一障碍,javascript提供了对象构造函数。使用此函数,首先,我们必须创建对象的类型,然后,我们需要声明对象的属性 。 示例 在下面的示例中,最初,我们声明了包含“名称”,“属性”,“年
问题内容: 在hibernate状态下,查询似乎有些困难。我正在两个表上执行内部联接。 产品表: 仓库表: 联接结果: 当我运行查询.. 因此,对于每个结果,我都会得到一个包含a 和a 的对象。 这是预期的。问题是hibernate将产品的ID和名称分配给仓库对象的ID和名称属性。在创建Warehouse项目时,好像联接结果中的前两列已经结束了。产品对象始终包含正确的数据。 关于解决此问题的任何建