我有两个POJO,STOCK和STOCK_DETAILS(一对多的关系).我还有一个接口IAUDITLOG(有两种方法).我需要用BOTH POJO实现这个接口,并希望在这些方法中编写一些实现.但是当我用子类"STOCKDETAILS"实现IAUDITLOG接口时,它会给出异常"你应该有setter属性"
股票类别:
@Entity
@Table(name = "stock")
public class Stock implements java.io.Serializable, IAuditLog
{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "id")
private Integer stockId;
@Column(name = "STOCK_CODE")
private String stockCode;
@Column(name = "STOCK_NAME")
private String stockName;
@OneToMany( fetch = FetchType.LAZY, mappedBy = "stock")
public Set<StockDetail> stockDetails = new HashSet<StockDetail>(0);
public Set<StockDetail> getStockDetails() {
return stockDetails;
}
public void setStockDetails(Set<StockDetail> stockDetails) {
this.stockDetails = stockDetails;
}
public Integer getStockId() {
return stockId;
}
public void setStockId(Integer stockId) { …Run Code Online (Sandbox Code Playgroud) 我想通过AJAX发出POST请求,我还想将整个类对象绑定到请求,并且我希望通过@requestParam注释接收该请求.我知道它可以用@requestBody注释完成,但我很想知道:我们可以用@requestParam注释来做吗?
一个Ajax代码:
var restDTO{
id: 3,
name: "hello"
}
$.ajax({
url: url,
type: 'POST',
dataType: 'json',
contentType: 'application/json',
mimeType: 'application/json',
data: JSON.stringify({RestDTO : restDTO}),
success: function(data)
{
}
Run Code Online (Sandbox Code Playgroud)
我有RestDTO
Class RestDTO
{
int id;
String name;
//getter and setter
}
Run Code Online (Sandbox Code Playgroud)
在控制器中
public String content(@RequestParam RestDTO restDTO){...}
Run Code Online (Sandbox Code Playgroud)
我应该怎么做才能运行此代码?
从ajax发送数据应该更改什么?
我是否需要在服务器上更改以接收带@requestParam注释的RestDto对象?
我需要在EntityListener类中注入EntityManager,以便我可以对它执行CRUD操作.
POJO:
@Entity
@EntityListner(AuditLogging.class)
class User
{
//Getter / setter of properties
}
Run Code Online (Sandbox Code Playgroud)
AuditLogging(Listner类)
public class AuditInterceptor
{
@PersistenceContext
EntityManager entityManager;
public void setEntityManager(EntityManager entityManager)
{
this.entityManager = entityManager;
}
@PrePersist
public void prePersist(Object obj)
{
// Here I want to use ENTITY manager object so that I can perform CRUD operation
// with prePersist coming object.
entityManager.unwrap(Session.class).save(obj);
// But I am getting NULL POINTER EXCEPTION for entity manager object
}
Run Code Online (Sandbox Code Playgroud)
}
JDBC-config.xml中
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" /> …Run Code Online (Sandbox Code Playgroud)